MATLAB Answers

Boxplot with logarithmic y-axis

33 views (last 30 days)
Tim Jahn
Tim Jahn on 3 Sep 2020
Edited: Cris LaPierre on 8 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.


Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 4 Sep 2020
Edited: Cris LaPierre on 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 Comment

Tim Jahn
Tim Jahn on 7 Sep 2020
Thank you Cris, this worked!

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!