annotate +anim/setup_1d_plot.m @ 447:ae15b72c16c1 feature/grids

Change the version function to say that we are on the feature/grids branch
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 12 Apr 2017 13:24:16 +0200
parents df83c8095326
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
56
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
1 % Creates a plot and provides a function to update the data in it.
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
2 % x - Vector of x-values to plot for.
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
3 % y_lim - 1x2 vector containing the y limits of the plot.
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
4 % yfun - Function or a cell array of functions of y data vectors
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
5 % that should be plotted. The output of each function
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
6 % will be plotted to the same axis.
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
7 %
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
8 % update_data(t,varargin) - Function to update plot data. All varargin will
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
9 % be passed to functions in yfun.
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
10 % plot_handles - Array of plot_handles. One for each yfun.
ce90abc350c5 Added documentation to setup_1d_plot. Added updatableLine.m
Jonatan Werpers <jonatan@werpers.com>
parents: 48
diff changeset
11 % axis_handle - Handle to the axis plotted to.
145
df83c8095326 setup 1d plot: Removed setting of axislabels. Made time in title optional.
Jonatan Werpers <jonatan@werpers.com>
parents: 142
diff changeset
12 function [update_data, plot_handles, axis_handle] = setup_1d_plot(x,yfun,show_title)
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 default_arg('yfun',{@(y)y});
145
df83c8095326 setup 1d plot: Removed setting of axislabels. Made time in title optional.
Jonatan Werpers <jonatan@werpers.com>
parents: 142
diff changeset
14 default_arg('show_title', true)
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
48
b21c53ff61d4 Made setup_1d_plot behave more like matlabs plot().
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
16 if isa(yfun,'function_handle')
b21c53ff61d4 Made setup_1d_plot behave more like matlabs plot().
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
17 yfun = {yfun};
b21c53ff61d4 Made setup_1d_plot behave more like matlabs plot().
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
18 end
b21c53ff61d4 Made setup_1d_plot behave more like matlabs plot().
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
19
b21c53ff61d4 Made setup_1d_plot behave more like matlabs plot().
Jonatan Werpers <jonatan@werpers.com>
parents: 0
diff changeset
20 figure_handle = gcf;
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 plot_handles(1) = plot(x,0*x);
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 for i = 2:length(yfun)
66
dbc50fa58ca6 Made setup_1d_plot behave like matlab plot.
Jonatan Werpers <jonatan@werpers.com>
parents: 56
diff changeset
23 plot_handles(i) = line(x,0*x);
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 end
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 axis_handle = gca;
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 xlim([x(1) x(end)]);
113
a4e1608ae980 1d plot: Made it possible to have automatix axes.
Jonatan Werpers <jonatan@werpers.com>
parents: 69
diff changeset
29
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 function update(t,varargin)
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 if ishandle(figure_handle) && ishandle(axis_handle)
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 for i = 1:length(yfun)
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 set(plot_handles(i),'YData',yfun{i}(varargin{:}));
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 end
145
df83c8095326 setup 1d plot: Removed setting of axislabels. Made time in title optional.
Jonatan Werpers <jonatan@werpers.com>
parents: 142
diff changeset
35
df83c8095326 setup 1d plot: Removed setting of axislabels. Made time in title optional.
Jonatan Werpers <jonatan@werpers.com>
parents: 142
diff changeset
36 if show_title
df83c8095326 setup 1d plot: Removed setting of axislabels. Made time in title optional.
Jonatan Werpers <jonatan@werpers.com>
parents: 142
diff changeset
37 title(axis_handle,sprintf('T=%.3f',t));
df83c8095326 setup 1d plot: Removed setting of axislabels. Made time in title optional.
Jonatan Werpers <jonatan@werpers.com>
parents: 142
diff changeset
38 end
0
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39 end
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
40 end
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
41 update_data = @update;
48b6fb693025 Initial commit.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
42 end