Disable font smoothing in colorbar object
6 views (last 30 days)
Show older comments
Hi everyone,
I am trying to produce a figure with the FontSmoothing property disabled throughout. The figure has one axes object with a title, two axis labels, two plot()'ted lines, a legend, and a colorbar. My problem is that I can't find a way to turn off font smoothing for the colorbar tick labels. The colorbar object does have a Label property which in turn has a FontSmoothing property, but turning that off only affects the colorbar label (as the name would suggest). The tick labels remain unaffected.
I have read other answers showing how to turn off font smoothing for legend objects (basically, you have to use the 4-output-argument form of legend()), but I could not find a way to do something similar for colorbar().
This is what I have been able to accomplish so far: (I am using MATLAB R2019a for Linux)
The colorbar tick labels ( -16.5 through -19.5 ) clearly have some sort font smoothing (font antialiasing) enabled. How can I disable that?
0 Comments
Accepted Answer
Walter Roberson
on 28 Sep 2020
cb = colorbar(appropriate_axes);
cb.Ruler.FontSmoothing = 'off';
3 Comments
Walter Roberson
on 28 Sep 2020
As a side question, why does the Ruler entry seem to be hidden from the user
I do not know; the decisions of Mathworks about what to expose and what not to expose are a mystery to me.
orderfields(struct(k(1))) %you will probably get a warning about the struct()
More Answers (1)
sushanth govinahallisathyanarayana
on 28 Sep 2020
You can use gca to get a handle to the current axes, after that you can use the properties of the axes to set accordingly.
1 Comment
Walter Roberson
on 28 Sep 2020
No, the axes settings do not control the settings of the colorbar label.
See Also
Categories
Find more on Title in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!