Setting additional specific axis tick marks

I have a y axis that spans 0 - 15. I want to place an extra tick mark (labelled with its value) at the minimum value of y (0.018 in one data set, for example).
It is not appropriate for me to use a log scale - the data is well presented, it is just not obvious to the reader that the minimum value is not zero.
Thank you.

 Accepted Answer

set(gca, 'YTick', sort([0.018, get(gca, 'YTick')]));

9 Comments

Thank you Walter. Now the 0.018 value is sitting on top of the '0' label of the y axis so both values are hard to read. Is it possible to remove the default'0' value so that the axis starts 0.018 then continues as specified by default? In this example the other labels on the graph (specified by default) are 5, 10 , 15 - I'd like to be able to generalize to other graphs too.
ytick = get(gca, 'YTick');
ytick(1) = 0.018;
set(gca, 'YTick', ytick);
Alternative in one line:
set(gca, 'YTick', max(0.018, get(gca, 'YTick')));
Thank you Walter.
set(gca, 'YTick', max(0.018, get(gca, 'YTick'))); <-- Wonderful! Thanks Walter!
set(gca, 'YTick', unique([0.018, get(gca, 'YTick')]));
Using unique instead of sort prevents an error is the added tick was already there
How can the label be added in similar fasion?
After setting the YTick, you can pull out the YTick again and format the values and send those to the YTickLabels property.
With R2014b or later you would typically only do that if you had special formatting needs, such as needing one label to look different than the others, or if you wanted to convert each value to its multiple of Pi : for plain formatting issues you would instead set the axes YAxis.TickLabelFormat property.

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!