Bar plot with a single bar across multiple x-axis values

1 次查看(过去 30 天)
I need to plot a single horizontal bar across multiple x-axis values, e.g.,
y=[2 1 3];
bar(1:6,y(1),'c', 2:5,y(2),'m', 6:10,y(3),'y');
I would like to see a single horizontal bar along x-axis: a) from 1 to 6 at a y-axis height of 2, b) from 2 to 5 at a y-axis height of 1, and c) from 6 to 10 at a y-axis height of 3. Could you please help me plot so?
Moreover, is there a possibility to [visually] distinguish the overlay bars (using colors or the like)? Because .. in the example provided above, the bar along x-axis 2 to 5 with height 1 units cannot be seen.

采纳的回答

Star Strider
Star Strider 2014-9-1
This works:
y=[2 1 3];
figure(1)
patch([1 6 6 1], [0 0 2 2],'b')
hold on
patch([2 5 5 2],[0 0 1 1],'r')
patch([6 10 10 6],[0 0 3 3], 'g')
hold off
axis([1 10 0 5])
Make changes to the colours to your liking.
The plot:
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Polygons 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by