When using xline, would it be possible to have the text in one color and the lines in another color?
36 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sim
el 17 de Mzo. de 2023
Respondida: Afiq Azaibi
el 4 de Oct. de 2024
When using xline, would it be possible to have the text in one color and the lines in another color?
% Here, I would like to have the text in one color and the vertical lines in
% another color
fig = figure();
ax = axes(fig);
ax.XTick = 1:14;
hold on
arrayfun(@(x)xline(x,'-','S','LabelOrientation','horizontal','Color',[.5 .5 .5]), 0:13)
0 comentarios
Respuesta aceptada
Star Strider
el 17 de Mzo. de 2023
Doing that in one pass is likely not an option, since there is no way to independently control the text colour. However colouring the labels with one xline call and the lines with a second xline call is certainly possible —
fig = figure();
ax = axes(fig);
ax.XTick = 1:14;
dy = ["S","S","M","T","W","T","F"];
xline(ax.XTick-1,'-k',repmat(dy,1,fix(max(ax.XTick)/7)), 'LabelOrientation','horiz','Color',[.9 .7 .5]);
xline(ax.XTick-1,'-k')
fig = figure();
ax = axes(fig);
ax.XTick = 1:14;
cm = colormap(turbo(max(ax.XTick))); % Define 'colormap'
dy = ["S","S","M","T","W","T","F"];
dyv = repmat(dy,1,fix(max(ax.XTick)/7)); % 'dyv': Days Vector
arrayfun(@(idx)xline(idx-1,'-k', dyv(idx), 'LabelOrientation','horiz','Color',cm(idx,:)),ax.XTick);
xline(ax.XTick-1,'-k')
The first approach uses the same colour for each day, and the second a different colour for each day. Any colormap will work.
The same cautions apply here, specifically that the elements of ‘cm’ and ‘dyv’ have to be consistent with the value range of ax.XTick.
.
3 comentarios
Más respuestas (1)
Afiq Azaibi
el 4 de Oct. de 2024
Starting in R2024b, you can leverage the LabelColor property on ConstantLine to control the color of the label independently of the line.
colors = turbo(7);
for i = 1:7
xline(i, '-k', 'ABC', 'LabelOrientation', 'horizontal', 'LabelColor', colors(i,:))
end
0 comentarios
Ver también
Categorías
Más información sobre Graphics Object Properties en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!