colour variation (transparency) on the overlapping bars of 2 bar charts
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
DGM
am 6 Aug. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Discrete Data Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!