annotate +anim/setup_time_quantity_plot.m @ 72:942cb3c53a47

Simplified implementation of time quantity plot.
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 23 Nov 2015 14:55:58 +0100
parents 243c558dc3ae
children d0df12c03aac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function [update_data, plot_handles] = setup_time_quantity_plot(yfun)
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 default_arg('yfun',@(y)y);
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3
69
f87003695677 Moved drawno out of plot update functions for huge performance boost.
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
4 if isa(yfun,'function_handle')
f87003695677 Moved drawno out of plot update functions for huge performance boost.
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
5 yfun = {yfun};
f87003695677 Moved drawno out of plot update functions for huge performance boost.
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
6 end
f87003695677 Moved drawno out of plot update functions for huge performance boost.
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
7
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 t = [];
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 for i = 1:length(yfun)
72
942cb3c53a47 Simplified implementation of time quantity plot.
Jonatan Werpers <jonatan@werpers.com>
parents: 70
diff changeset
10 plot_handles(i) = animatedline();
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 end
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 axis_handle = gca;
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 legend()
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 function update(t_now,varargin)
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 if ishandle(axis_handle)
72
942cb3c53a47 Simplified implementation of time quantity plot.
Jonatan Werpers <jonatan@werpers.com>
parents: 70
diff changeset
19 % t = [t t_now];
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 for j = 1:length(yfun)
72
942cb3c53a47 Simplified implementation of time quantity plot.
Jonatan Werpers <jonatan@werpers.com>
parents: 70
diff changeset
21 addpoints(plot_handles(j),t_now,yfun{j}(varargin{:}));
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 end
70
243c558dc3ae Made end of animated quantity plot nicer.
Jonatan Werpers <jonatan@werpers.com>
parents: 69
diff changeset
23
72
942cb3c53a47 Simplified implementation of time quantity plot.
Jonatan Werpers <jonatan@werpers.com>
parents: 70
diff changeset
24 [t,~] = getpoints(plot_handles(1));
942cb3c53a47 Simplified implementation of time quantity plot.
Jonatan Werpers <jonatan@werpers.com>
parents: 70
diff changeset
25 if t(1) < t(end)
942cb3c53a47 Simplified implementation of time quantity plot.
Jonatan Werpers <jonatan@werpers.com>
parents: 70
diff changeset
26 xlim([t(1) t(end)]);
70
243c558dc3ae Made end of animated quantity plot nicer.
Jonatan Werpers <jonatan@werpers.com>
parents: 69
diff changeset
27 end
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 end
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 end
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 update_data = @update;
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 end