Clear Filters
Clear Filters

Can a plot be made to label y-axis in Hex values?

22 views (last 30 days)
I am plotting decimal equivalents of 8 and/or 16 bit hex values. Is it possible to label the y-axis in it's hex value? (Other than using yticklabel and manually listing all possible values)

Accepted Answer

Walter Roberson
Walter Roberson on 7 Mar 2012
set(gca, 'YTickLabel', cellstr(num2str(reshape(get(gca, 'YTick'),[],1),'%02x')) )
This still uses YTickLabel, but it does not manually list all the possible values.
  2 Comments
Alan
Alan on 29 Oct 2015
This helps. Unfortunately, if I resize any of my graphs after running this, the tick marks get all messed up. That's a reason to not use YTickLabel even though it's not a manual list. Is there another method that would rescale values as appropriate? Or a way to detect a rescale and reapply yticklabel?
Walter Roberson
Walter Roberson on 30 Oct 2015
Note: an axes is not a "container" and does not have a ResizeFcn callback. If you are setting the Position or OuterPosition properties of an axes to resize it, then you should rebuild the labels at that point. You might also be able to set a listener to detect the event.
Note: if you are using zoom or pan, then both of those offer a Post action callback that can be used to rebuild the tick labels.

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!