Mercurial > hg > mauch-mirex-2010
view _misc/featureextraction/.svn/text-base/shadedplot.m.svn-base @ 9:4ea6619cb3f5 tip
removed log files
author | matthiasm |
---|---|
date | Fri, 11 Apr 2014 15:55:11 +0100 |
parents | b5b38998ef3b |
children |
line wrap: on
line source
function [ha hb hc] = shadedplot(x, y1, y2, varargin) % SHADEDPLOT draws two lines on a plot and shades the area between those % lines. % % SHADEDPLOT(x, y1, y2) % All of the arguments are vectors of the same length, and each y-vector is % horizontal (i.e. size(y1) = [1 N]). Vector x contains the x-axis values, % and y1:y2 contain the y-axis values. % % Plot y1 and y2 vs x, then shade the area between those two % lines. Highlight the edges of that band with lines. % % SHADEDPLOT(x, y1, y2, areacolor, linecolor) % The arguments areacolor and linecolor allow the user to set the color % of the shaded area and the boundary lines. These arguments must be % either text values (see the help for the PLOT function) or a % 3-element vector with the color values in RGB (see the help for % COLORMAP). % % [HA HB HC = SHADEDPLOT(x, y1, y2) returns three handles to the calling % function. HA is a vector of handles to areaseries objects (HA(2) is the % shaded area), HB is the handle to the first line (x vs y1), and HC is % the handle to the second line (x vs y2). % % Example: % % x1 = [1 2 3 4 5 6]; % y1 = x1; % y2 = x1+1; % x3 = [1.5 2 2.5 3 3.5 4]; % y3 = 2*x3; % y4 = 4*ones(size(x3)); % ha = shadedplot(x1, y1, y2, [1 0.7 0.7], 'r'); %first area is red % hold on % hb = shadedplot(x3, y3, y4, [0.7 0.7 1]); %second area is blue % hold off % plot the shaded area y = [y1; (y2-y1)]'; ha = area(x, y); set(ha(1), 'FaceColor', 'none') % this makes the bottom area invisible set(ha, 'LineStyle', 'none') % plot the line edges hold on hb = plot(x, y1, 'LineWidth', 1); hc = plot(x, y2, 'LineWidth', 1); hold off % set the line and area colors if they are specified switch length(varargin) case 0 case 1 set(ha(2), 'FaceColor', varargin{1}) case 2 set(ha(2), 'FaceColor', varargin{1}) set(hb, 'Color', varargin{2}) set(hc, 'Color', varargin{2}) otherwise end % put the grid on top of the colored area set(gca, 'Layer', 'top') grid on