Mercurial > hg > ishara
diff arrows/@plotter/plotter.m @ 0:672052bd81f8
Initial partial import.
author | samer |
---|---|
date | Wed, 19 Dec 2012 22:38:28 +0000 |
parents | |
children | 3f77126f7b5f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/arrows/@plotter/plotter.m Wed Dec 19 22:38:28 2012 +0000 @@ -0,0 +1,23 @@ +% plotter - Arrow for doing plots. +% +% plotter :: options { +% dom :: [[N]->nonneg] / (1:N) ~'X values for plots'; +% ylim :: [[_]->nonneg] / [] ~'passed to ylim if not empty'; +% xlim :: [[_]->nonneg] / [] ~'passed to xlim if not empty'; +% xlabel :: [[_]->nonneg] / [] ~'passed to xlabel if not empty'; +% ylabel :: [[_]->nonneg] / [] ~'passed to ylabel if not empty'; +% plotfn :: plotfn / @plot ~'function to create image'; +% args :: {[_]} / {} ~'extra arguments for plotfn' +% } -> arrow({[[N,M]]}, {}, empty) ~'arrow from 2D arrays'. +% +% plotter is an arrow which displays each input array as line plots +% using plot by default. The essential thing about plotter is that +% the graphics must be updated by setting the 'YData' property of +% the handle graphics object returned by the plotting function. + +function o=plotter(varargin) + s.opts=prefs('dlim',[],'dom',[],'ylim',[],'xlim',[],'plotfn',@plot,'args',{},'tranpose',0,varargin{:}); + if isempty(s.opts.ylim), s.opts.ylim=s.opts.dlim; end + o=class(s,'plotter',agraph(1,s.opts)); +end +