boxplot and how to change x-axis

Hi,
I have a matrix (100,7) with data which I want to plot with boxplot. boxplot(matrix) does the job but I haven't figured out yet how I can change the x-axis. Now it draws a box for each column of the matrix. So, the labels go from 1 to 7. I want to replace 1 to 7 with elements provided by another vector (with 7 elements). How can I do that?

Risposte (3)

Use the labels option as described in the docs of boxplot:
X = randn(100,4);
boxplot(X,'Labels',{'one','two','three','four'})
Oleg

2 Commenti

Muhlbauer
Muhlbauer il 4 Mar 2011
All right. Your suggestion works but is a little bit cumbersome.
If the dimensions of X would change I would also have to adapt the labels...
The doc says that I can pass a numeric vector. However, that doesn't work and gives the error
Error using ==> boxplot at 205
Incorrect number of box labels.
even if the number of labels is 7.
Can you show the code that gives you the error?
I don't get any error if I pass a numeric vector of labels, 7, 5 or whatever they are as long as they match the number of columns of my data

Accedi per commentare.

Walter Roberson
Walter Roberson il 3 Mar 2011

0 voti

See the example of a few minutes ago posted by a different user, here
Muhlbauer
Muhlbauer il 4 Mar 2011

0 voti

It seems there is a bug in boxplot on line 204 in order to support label input from a given input vector.
Adding ~(isvector(labels) && numel(labels)==n) to the if statement beginning on line 202 fixes this issue!

Richiesto:

il 3 Mar 2011

Community Treasure Hunt

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

Start Hunting!

Translated by