在同一图表中绘制许多水平条形图

时间:2013-05-05 01:11:57

标签: matlab matlab-figure

我需要绘制一个x-y函数,它显示x值的直方图。类似于下图的底部情节:

Set of vertical histograms

我尝试使用matlab的“barh”,但不能在同一个图中绘制很多。 有什么想法吗?

或者,可能会取代连续图的原点(基线,bareries属性中的基值)。我怎么能这样做呢?

感谢。

1 个答案:

答案 0 :(得分:4)

使用'Position'轴属性

% generate "data"
m = rand( 40,10 ); 
[n x] = hist( m, 50 );

% the actual plotting
figure; 
ma = axes('Position',[.1 .1 .8 .8] );  % "parent" axes
N = size(n,2);  % number of vertical bars
for ii=1:N, 
   % create an axes inside the parent axes for the ii-the barh
   sa = axes('Position', [0.1+(ii-1)*.8/N, 0.1, .8/N, .8]); % position the ii-th barh
   barh( x, n(:,ii), 'Parent', sa); 
   axis off;
end

enter image description here