How to get a bar plot with unequal bin intervals?

How can I show the following bars (bar_heights) with unequal bin intervals (bin_edges)?
bin_edges = [0 5;
5 20;
20 100];
bar_heights = [20;10;30];
bar(bar_heights)
Basically, I would like to see the bar with height 20 starting at xtick 0 and ending at xtick 5, then the bar with height 10 starting at xtick 5 and ending at xtick 20, and the bar with height 30 from xtick 20 to xtick 100.

1 Kommentar

Maybe a way, but I am not able to show the last edge of the last bin, i.e. 100:
bin_edges = [0 5 20];
bar_heights = [20 10 30];
bar(bin_edges,bar_heights','histc')

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Voss
Voss am 1 Mär. 2024
Bearbeitet: Voss am 1 Mär. 2024
bin_edges = [0 5 20 100]; % include the last edge (100)
bar_heights = [20 10 30];
bar(bin_edges,[bar_heights(:); 0],'histc') % append a 0 for plotting the last bin
xlim(bin_edges([1 end])) % set xlim to avoid showing the last (0-height) bin

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots finden Sie in Hilfe-Center und File Exchange

Gefragt:

Sim
am 1 Mär. 2024

Kommentiert:

am 1 Mär. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by