How to plot stacked bar over stacked bar ?

7 Ansichten (letzte 30 Tage)
Avijit Paul
Avijit Paul am 11 Mär. 2025
Kommentiert: Voss am 12 Mär. 2025
Hello All
I have data set with size 12x4x76. 12 Represents 12 months, 4 represents 4 sub groups in each month and 76 represent 76 years. I want to plot x-axis as years and y-axis as Months as bar chart. So for a single bar it will be divided into 12 equal divisions representing the months and each division will be divided into 4 parts, height of each part will be decided by the values. So the it will be like stcked bar over a stacked bar. How to do that, any help will be highly appreciated. Image is attached for the sample plot.

Akzeptierte Antwort

Voss
Voss am 11 Mär. 2025
Maybe something like this:
load Data
tmp = plot_data./sum(plot_data,2);
tmp = reshape(flip(permute(tmp,[2 1 3]),1),[],size(tmp,3));
bar(tmp.','stacked')
N = 12;
yt = linspace(0,N,2*N+1);
ytl = strings(1,2*N+1);
ytl(2:2:end) = string(datetime(0,1:N,1,'Format','MMM'));
set(gca(), ...
'YLim',[0 N], ...
'YTick',yt, ...
'YTickLabels',ytl, ...
'TickDir','out')
  4 Kommentare
Avijit Paul
Avijit Paul am 12 Mär. 2025
Thanks a lot
Voss
Voss am 12 Mär. 2025
You're welcome!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Discrete Data Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by