How to add different texts in xline, when using arrayfun ?

How to add different texts in xline, when using arrayfun, as in the following example?
% Input and current status
fig = figure();
ax = axes(fig);
ax.XTick = 1:14;
hold on
arrayfun(@(x)xline(x,'-','S','LabelOrientation','horizontal','Color',[.5 .5 .5]), 0:13)
% Desired Output:

2 commentaires

Hello Sim,
You could try something like this for each case:
a(3).Label='M';a(3).Color='k'; % Maybe change FontName and FontSize
Although I'm sure there must be a better way of doing it.
I cannot find a way to have different color for the text and the lines.
Thanks a lot @Antoni Garcia-Herreros... :-) Actually, I was looking for a little bit "more automatic" way to do so... :-)

Connectez-vous pour commenter.

 Réponse acceptée

Perhaps something like this —
fig = figure();
ax = axes(fig);
ax.XTick = 1:14;
dy = ["S","S","M","T","W","T","F"];
hxl = xline(ax.XTick-1,'-k',repmat(dy,1,fix(max(ax.XTick)/7)), 'LabelOrientation','horiz');
.

4 commentaires

Super trick! Many thanks @Star Strider!!! :-)
As always, my pleasure!
The only caution is that the x-ticks must be in integer multiples of 7, otherwise that code will break, and a slightly different approach will be necessary.
.
Sim
Sim le 17 Mar 2023
Modifié(e) : Sim le 17 Mar 2023
ah ok cool! Again many thanks :-)
.....Also..... just in case you want to get another "Accepted Answer" ..........there would be also this small thing here........ :-) :-)
Thank you for the reference!
I posted an Answer to it.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Word games dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by