Set the Yticklabel to different colors

164 vues (au cours des 30 derniers jours)
yang yang
yang yang le 9 Fév 2012
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 commentaire
yang yang
yang yang le 10 Fév 2012
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.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 10 Fév 2012
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 commentaire
yang yang
yang yang le 11 Fév 2012
Thanks for your answer.I think your idea may work,I will try later.

Connectez-vous pour commenter.

Plus de réponses (4)

Frank Zalkow
Frank Zalkow le 19 Mai 2017
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 commentaire
Walter Roberson
Walter Roberson le 20 Mai 2017
Note: this requires R2014b or later; in versions earlier than that, the tick labels are not processed by latex or tex.

Connectez-vous pour commenter.


Giorgio
Giorgio le 20 Juin 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
  1 commentaire
Nikolaus Koopmann
Nikolaus Koopmann le 13 Jan 2023
thanks dude! worked like a charm!

Connectez-vous pour commenter.


Dr. Seis
Dr. Seis le 9 Fév 2012
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 commentaires
Dr. Seis
Dr. Seis le 10 Fév 2012
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?
yang yang
yang yang le 11 Fév 2012
Thanks for your answer again!

Connectez-vous pour commenter.


Andrew Gibbons
Andrew Gibbons le 13 Déc 2018
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 commentaire
Walter Roberson
Walter Roberson le 13 Déc 2018
This sets the color of everything to do with that axes, including grid lines and tick marks.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by