"Column Vector" XTick labels
古いコメントを表示
Consider the following plot:
plot(0:2,2-(0:2),'*'),xticks([0 1 2]),xticklabels({'(0,2)','(1,1}','(2,0)'})
I want to keep the "plot" as is, just change the labeling for the x axis ticks., so that each xtick label would be a column vector instead of a pair in parentheses. For instance,
0 1 2
2 1 0
instead of
(0,2) (1,1) (2,0)
Is this possible?
採用された回答
その他の回答 (1 件)
I don't think so with the tick labels(*), but you can write them with text as
v1=[0:2];v2=[2:-1:0];
for i=1:3
xtl(i)=cellstr(sprintf('%d\n%d',v1(i),v2(i)));
end
xticklabels([])
text(xticks,repmat(-0.02,1,3),xtl,'VerticalAlignment',"top")
(*) When try to write string with embedded \n, the internals of xticklabels converts each to another string element so you end up with it thinking 2X the labels than number of ticks.
2 件のコメント
Mark Stone
2022 年 5 月 28 日
dpb
2022 年 5 月 28 日
Yeah, it is "magic" number as shown -- because the default coordinates for text are in 'data' units. This can be set to be 'normalized' which are the units of the axes and then a fixed offset from the lower position number is the invariant way to place.
カテゴリ
ヘルプ センター および File Exchange で Axis Labels についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

