colour variation (transparency) on the overlapping bars of 2 bar charts
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi! I have two bar charts placed in the same figure:
load C.mat
figure
hbh = barh(C(:,1), C(:,[2 3]),'stacked');
cm = ['b'; 'r'];
for k = 1:numel(hbh)
hbh(k).FaceColor = cm(k,:);
hbh(k).EdgeColor = 'k';
% hbh(k).FaceAlpha = 0.2;
end
legend('Graph 1', 'Graph 2', 'Location','best')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1451412/image.png)
I would like to obtain a result like this (colour variation on the overlapping bars):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1451417/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1451422/image.png)
I have applied the 'FaceAlpha' command but it only changes the transparency of the bars.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1451427/image.png)
0 Commenti
Risposta accettata
DGM
il 6 Ago 2023
The transparency has no effect because there's nothing behind it. You're stacking the bars end-to-end, not on top of each other.
y1 = 1:10;
y2 = fliplr(y1);
% two bar plots, one atop the other
hbh(1) = barh(y1); hold on
hbh(2) = barh(y2);
cm = ['b'; 'r'];
for k = 1:numel(hbh)
hbh(k).FaceColor = cm(k,:);
hbh(k).EdgeColor = 'k';
hbh(k).FaceAlpha = 0.2;
end
legend('Graph 1', 'Graph 2', 'Location','best')
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Discrete Data Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!