How to get a bar plot with unequal bin intervals?

2 visualizzazioni (ultimi 30 giorni)
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 Commento
Sim
Sim il 1 Mar 2024
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')

Accedi per commentare.

Risposta accettata

Voss
Voss il 1 Mar 2024
Modificato: Voss il 1 Mar 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

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by