I'm trying to create a bar chart for a matrix, its a 1x30 but I only want the 0, 10th, 20th and 30th values.
I've tried many formats such as in the image but I cannot manage to get it working.
Any suggestions out there?

 Accepted Answer

Ameer Hamza
Ameer Hamza on 4 May 2018
Edited: Ameer Hamza on 4 May 2018
I MATLAB, use the following syntax to index into an array.
bar([1 10 20 30], mean_1_1_walk([1 10 20 30]))
Also in MATLAB indexing start from 1, unlike some other programming languages (such as c/c++, java, python) where indexing starts from 0.

8 Comments

dpb
dpb on 4 May 2018
"... unlike most other programming languages."
"... unlike one other particular programming language."
That sorted it, thank you.
Also note you can write expressions like
mean_1_1_walk([1:10:end])
besides a list of specific indices.
Would you also happen to know how to have the bars side by side instead of stacked when plotting more than one matrix?
@dpb OP is indexing them like [1 10 20 30] for some reason. Therefore I wrote it like that.
@Jordanf1519 refer to this example. For your case the command becomes
bar([1 10 20 30], [mean_1_1_walk([1 10 20 30])' mean_1_2_walk([1 10 20 30])']);
dpb
dpb on 4 May 2018
Indeed he did, but he also started counting from 0 instead of 1. It's quite possible he didn't know could write an expression; was simply giving alternate syntax as tutorial additional information.
Would anyone know how to change the colours of these bars too?
bar([1 10 20 30], [mean_1_1_walk([1 10 20 30])' mean_1_2_walk([1 10 20 30])']);
You can find several examples on documentation page which will help you to do this: https://www.mathworks.com/help/matlab/ref/bar.html#d119e66370.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!