Comparing 2 histograms in a barh-plot
1 次查看(过去 30 天)
显示 更早的评论
Hey,
I want to compare 2 histograms in a barh plot. Taking an arbitrary 'VaseValue', I want to plot one histogram to the left, and one to the right.
Doing this, MatLab starts grouping the histogram data within the same bin, which reduces the binwith, which I do not like. I mean it makes sence when both histogram data show into the same direction, but when one is plotted to the left and one to the right, its just a waste.
For both bin values of the same bin to be at the exact same position, I used 'stacked'. This works fine until the basevalue is larger than the highest value that should be plotted in to the left direction... How to I fix that??
Example:
This code does what I want it to look like:
x = [1 2];
y = 3+[ 5 5;-5 -5]';
barh(x,y,'stacked','BaseValue',3)
When I do not want the barh to appear at 3, but for example at 5:
x = [1 2];
y = 5+[ 5 5;-5 -5]';
barh(x,y,'stacked','BaseValue',5)
I doenst work. It does not show the barh into negative x direction, which should go from 5 to 0.
Checking the plot, it actually tells me that X and Y data for the first plot its:
BaseValue: 5
XData: [1 2]
YData: [10 10]
and for the second one its:
BaseValue: 5
XData: [1 2]
YData: [0 0]
So the bars should be there, but thery arent....
Any idea how to fix that??
Many Thanks in advance,
Best regards
0 个评论
回答(1 个)
Mathieu NOE
2024-2-13
hi
seems to me the way you build your y data matters
y = 5+[ 5 5;-5 -5]'; NO
y = 5+[ -5 -5;5 5]'; YES
x = [1 2];
y = 5+[ -5 -5;5 5]';
barh(x,y,'stacked','BaseValue',5)
5 个评论
Mathieu NOE
2024-2-14
I think i missed one thing, BaseValue and the offset on y have to be the same value
Correct
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Histograms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!