如何在情节上使用st作为tick?

问题描述 投票:0回答:2

如果x和y轴均为数字,则可以使用函数num2strcellstrstrtrim在绘图上显示文本。这些函数将坐标值格式化为字符串的单元格数组,然后可以使用函数text显示它:

strValues = strtrim(cellstr(num2str(
  [X(:) Y(:)],
  '(%d,%d)'
)));
text(
  X,
  Y,
  strValues,
 'VerticalAlignment',
 'bottom'
);

但是,如果x轴包含字符串而不是数字怎么办?

X=['john' 'jack' 'mary'.....] 
Y=[0 1 2 3]

然后如何在所有数据图上显示y值?

matlab matlab-figure
2个回答
0
投票

第一种方式:进行法线绘图(尽管您可能需要先枚举类别),然后设置轴的刻度。这样可以最大程度地提高灵活性,但可能会产生混淆]

set(gca, 'xTick',1:length(X), 'xTickLabel',X)

第一个名称确保所有刻度线都是绘制的,而第二个名称-值对重命名这些刻度线。当涉及到名称或更长的字符串时,您可能还想使用'xtickangle'旋转刻度线标签。

即使在examples中,MathWorks仍使用此替代方法:

x = linspace(-10,10,200);
y = cos(x);
plot(x,y)
xticks([-3*pi -2*pi -pi 0 pi 2*pi 3*pi])
xticklabels({'-3\pi','-2\pi','-\pi','0','\pi','2\pi','3\pi'})

第二种方式:

如果具有categorial数据,则可以立即进行绘制。看看categorial

0
投票

您可以使用分类法创建图...

© www.soinside.com 2019 - 2024. All rights reserved.