Boxplot with logarithmic y-axis

25 vues (au cours des 30 derniers jours)
Tim Jahn
Tim Jahn le 3 Sep 2020
I want to have a boxplot with logarithmic scale on the y-axis (similiar to the semilogy command for plot). I have not yet found a good solution. So far I transformed my data before creating the plot with the log() function, and afterwards I used the normal boxplot command. The plot itself looks nice then, but the y-axis is wrongly scaled. The y-range lies between -5 and -2, but I want to have exp(-5) to exp(-2). Is there a way to take the exponential of the whole axis? As a rather poor solution, I manually set the y-tick to [-5 -4 -3 -2] and then the yticklabel to {'exp(-5)',...,'exp(-2)'}, but this is for sure not an elegant solution.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 4 Sep 2020
Modifié(e) : Cris LaPierre le 8 Sep 2020
The tick values must correspond to the plotted data. The tick labels can be whatever you want.
You can change the scale of your Y axis. Have you tried setting it to log?
ax = gca;
ax.YAxis.Scale ="log";
  1 commentaire
Tim Jahn
Tim Jahn le 7 Sep 2020
Thank you Cris, this worked!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by