Set the Yticklabel to different colors

Hi all, I used this code to set the color of XLable:xlabel('\color{magenta}Love').It works.But I used this way to set the color of Yticklabel,it didn't work(set(h,'Yticklabel',{'\color{magenta}Love','b'})).I want to know how I can set the Yticklabel to different colors.
Thanks for all your kindly answering.

1 Comment

I want to know how I can make the YTickLabels in different colors.I mean I want every one label has a different color from the others.

Sign in to comment.

 Accepted Answer

There is no direct mechanism for doing this. The tick labels are not processed through the Interpreter, and are not processed as HTML, and there is no color specifier for them other than the axis color that Elige mentions.
The best you can do is to text() them in to place yourself.

1 Comment

Thanks for your answer.I think your idea may work,I will try later.

Sign in to comment.

More Answers (4)

Something in this vein works:
% make a plot
plot([1,2,3])
% get the current tick labeks
ticklabels = get(gca,'YTickLabel');
% prepend a color for each tick label
ticklabels_new = cell(size(ticklabels));
for i = 1:length(ticklabels)
ticklabels_new{i} = ['\color{red} ' ticklabels{i}];
end
% set the tick labels
set(gca, 'YTickLabel', ticklabels_new);

1 Comment

Note: this requires R2014b or later; in versions earlier than that, the tick labels are not processed by latex or tex.

Sign in to comment.

Giorgio
Giorgio on 20 Jun 2018
The possibility of customizing the colors of the tick labels is now available.
A well written explanation is reported here: https://undocumentedmatlab.com/blog/customizing-axes-tick-labels
This not only changes the color of the tick label, it also changes the color of the specified axis:
set(h,'YTickLabel','Hate|Dislike|SoSo|Okay|Great|Love','YColor','magenta');
This example replaces the 6 default YTickLabels with the labels specified above in addition to changing the color of the text and axis to magenta.

3 Comments

Thanks for your answer.But I want to know how I can make the YTickLabels in different colors.I mean I want every one label has a different color from the others.
Not sure if there is a way to do this with HTML... all my tests at trying to do so failed. Anyone else have an idea?
Thanks for your answer again!

Sign in to comment.

If you happen to be creating a GUI, use
axes(handles.axes1)
handles.axes1.XColor = [1 1 1] %[1 1 1] is for white, [0 0 0] for black, and in between are different colors
This specifies which axes you want to modify and then XColor changes the color of the x-axis.

1 Comment

This sets the color of everything to do with that axes, including grid lines and tick marks.

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects 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!