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

1 vue (au cours des 30 derniers jours)
PChoppala
PChoppala le 1 Sep 2014
Commenté : Star Strider le 1 Sep 2014
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.

Réponse acceptée

Star Strider
Star Strider le 1 Sep 2014
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 commentaires
PChoppala
PChoppala le 1 Sep 2014
Got it, thank you!
Star Strider
Star Strider le 1 Sep 2014
My pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by