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 个评论

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... :-)

请先登录,再进行评论。

 采纳的回答

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 个评论

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.
.
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.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Word games 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by