view +anim/setup_time_quantity_plot.m @ 69:f87003695677

Moved drawno out of plot update functions for huge performance boost.
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 23 Nov 2015 13:54:01 +0100
parents 48b6fb693025
children 243c558dc3ae
line wrap: on
line source

function [update_data, plot_handles] = setup_time_quantity_plot(yfun)
    default_arg('yfun',@(y)y);

    if isa(yfun,'function_handle')
        yfun = {yfun};
    end

    t = [];
    for i = 1:length(yfun)
        plot_handles(i) = line(0,0);
        plot_handles(i).XData = [];
        plot_handles(i).YData = [];
        quantities{i} = [];
    end

    axis_handle = gca;
    legend()


    function update(t_now,varargin)
        if ishandle(axis_handle)
            t = [t t_now];
            for j = 1:length(yfun)
                quantities{j} = [quantities{j} yfun{j}(varargin{:})];
                plot_handles(j).XData = t;
                plot_handles(j).YData = quantities{j};
            end
        end
    end
    update_data = @update;
end