How to plot stacked bar over stacked bar ?

7 visualizzazioni (ultimi 30 giorni)
Avijit Paul
Avijit Paul il 11 Mar 2025
Commentato: Voss il 12 Mar 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.

Risposta accettata

Voss
Voss il 11 Mar 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 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Discrete Data Plots in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by