如果x和y轴均为数字,则可以使用函数num2str
,cellstr
和strtrim
在绘图上显示文本。这些函数将坐标值格式化为字符串的单元格数组,然后可以使用函数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值?
第一种方式:进行法线绘图(尽管您可能需要先枚举类别),然后设置轴的刻度。这样可以最大程度地提高灵活性,但可能会产生混淆]
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
。您可以使用分类法创建图...