MATLAB Answers

Assign same linewidth to a grouped barplot

1 view (last 30 days)
Enrico Gambini
Enrico Gambini on 14 Apr 2021
Commented: dpb on 15 Apr 2021
Hello everyone,
I'm trying to assign the same linewidth to a grouped barplot, it says that i have to use the comma separated list assigment, but frankly i've never dealt with lists in matlab, and i really don't know how to do it.
v1=rand(10,1);
v2=rand(10,1);
x=[1:10];
combined=[v1,v2];
barplot=bar(x,combined,'grouped');
barplot.LineWidth=%And now i'd like to put for the 2 series the same linewidth=1
Thank you :)

Accepted Answer

Mathieu NOE
Mathieu NOE on 14 Apr 2021
hello
v1=rand(10,1);
v2=rand(10,1);
x=[1:10];
combined=[v1,v2];
barplot=bar(x,combined,'grouped');
barplot(1).BarWidth = 1; % both bars are grouped so doing the mod on the first one will be applied on second bar too;
  3 Comments
dpb
dpb on 15 Apr 2021
The same syntax applies as shown before; just use the correct property name:
set(barplot,{'barwidth'},{1})
which will also work in cases where must set each handle of the handle array.

Sign in to comment.

More Answers (1)

dpb
dpb on 14 Apr 2021
Edited: dpb on 14 Apr 2021
You can't use the "dot" notation with an array of handles, anyway; must use set here, or a looping construct of some sort.
set(barplot,{'linewidth'},{2})
NB: Must pass cell arrays even for single values to assign for multiple handles There are detailed examples of the use for more complicated cases in the documentation for set()

Community Treasure Hunt

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

Start Hunting!

Translated by