annotate +anim/setup_1d_plot.m @ 577:e45c9b56d50d feature/grids

Add an Empty grid class The need turned up for the flexural code when we may or may not have a grid for the open water and want to plot that solution. In case there is no open water we need an empty grid to plot the empty gridfunction against to avoid errors.
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 07 Sep 2017 09:16:12 +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