Effacer les filtres
Effacer les filtres

boxplot and how to change x-axis

84 vues (au cours des 30 derniers jours)
Muhlbauer
Muhlbauer le 3 Mar 2011
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?

Réponses (3)

Oleg Komarov
Oleg Komarov le 3 Mar 2011
Use the labels option as described in the docs of boxplot:
X = randn(100,4);
boxplot(X,'Labels',{'one','two','three','four'})
Oleg
  2 commentaires
Muhlbauer
Muhlbauer le 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.
Oleg Komarov
Oleg Komarov le 4 Mar 2011
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

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 3 Mar 2011
See the example of a few minutes ago posted by a different user, here

Muhlbauer
Muhlbauer le 4 Mar 2011
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!

Community Treasure Hunt

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

Start Hunting!

Translated by