# HG changeset patch # User samer # Date 1444486818 -3600 # Node ID 547c48f3a00837c069d22aeda1e9bd24c8933e67 # Parent d060797e9b623fb566cd1f6d08299ce2d15a873e multibar Now takes base plotting function diff -r d060797e9b62 -r 547c48f3a008 graphics/multibar.m --- a/graphics/multibar.m Fri Oct 09 15:57:39 2015 +0100 +++ b/graphics/multibar.m Sat Oct 10 15:20:18 2015 +0100 @@ -1,9 +1,11 @@ % multibar - Multiple bar plots with different domains. % -% multibar :: cells(pair([[N]->Dom],[[N]])), options -> handle. -function h=multibar(D,varargin) +% multibar :: plotfn, cells(pair([[N]->Dom],[[N]])), options -> handle. +% plotfn is any plotting function like bar, plot, area stairs etc +% that takes two arrays of X and Y values. +function h=multibar(F,D,varargin) X=flatten(foldl(@union,[],map(@fst,D))); - h=bar(X,cellcat(2,map(@(d)expand(X,d),D)),varargin{:}); + h=F(X,cellcat(2,map(@(d)expand(X,d),D)),varargin{:}); end function Y2=expand(X,Data)