![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/175416/image.jpeg)
Bar Graph with varying widths
4 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Ben11
on 19 Aug 2014
Edited: Ben11
on 19 Aug 2014
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!
More Answers (0)
See Also
Categories
Find more on Graphics Object Properties in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!