![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/175416/image.jpeg)
Bar Graph with varying widths
4 次查看(过去 30 天)
显示 更早的评论
Hi all,
I was trying to get a stacked bar graph with varying widths. Is it possible? Could someone help me?
Here are the variables I am trying to plot.
These are the value to be plotted in a stacked bar graph
graf =
0.2075 2.1825
0.4312 1.9600
0.0370 2.3600
0.3107 2.0800
0.1172 2.2800
1.3685 1.0200
0.8685 1.5200
0.1610 2.2300
1.0000 0.9300
0.3107 0.6900
Without varying widths by using
bar(graf,'stack');
I can get a nice graph like this:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/145134/image.png)
But I also need bars with varying widths, for example, here are my desired widths:
2 1 3 1 4 3 2 2 1 3
Is there any way I can obtain such a plot? And also a minor question, do you know how I can change colors in a stacked bar graph?
Thanks a lot,
0 个评论
采纳的回答
Ben11
2014-8-19
编辑:Ben11
2014-8-19
For your 2nd question:
In order to change the bar colors, use findobj to get the patch objects forming the bars and change their color:
hBars = findobj(gca,'type','patch')
will give a 2-element array of handles, where each color is change individually like so:
set(hBars(1),'FaceColor','g')
set(hBars(2),'FaceColor','c')
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/175416/image.jpeg)
I'm looking into your first question!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Object Properties 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!