matlab绘图中如何使坐标刻度显示特殊字符

我想在画好的图上的坐标轴上标上特殊字符,不是坐标轴名称,是刻度值。比如pi 2pi ...
thx 请各位大神指教!

设置坐标系的XTickLabel或YTickLabel属性。

代码供参考:

x=linspace(0,4*pi,100);
y=sin(x);
plot(x,y)
axis tight
set(gca,'xtick',0:pi/2:4*pi)
set(gca,'xticklabel',{'0' 'pi/2' 'pi' 'pi*3/2' '2*pi' 'pi*5/2' '3*pi' 'pi*7/2' '4*pi'})

追问

怎么将pi显示成π ?

追答

这个好像没有太好的办法。因为TickLabel和Title、XLabel以及legend等不同,后面这几种可以获得文本的句柄,设置其支持TeX语法(如\pi),而TickLabel不行。

 

我目前能想到的办法就是直接使用双字节的希腊字母(可考虑设置为Times New Roman字体以获得更好的效果)。把最后一句改成:

set(gca,'xticklabel',{'0' 'π/2' 'π' 'π*3/2' '2*π' 'π*5/2' '3*π' 'π*7/2' '4*π'})
set(gca,'FontName','Times New Roman');

当然,还有个变通的方法,就是设置TickLabel为空,然后在相应位置上创建text对象,不过那样做起来有点太麻烦,不推荐。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-22
举个例子:
%先画个图
x=0:.1:5;
y=exp(x);
plot(x,y);
%下面定义x轴的刻度
set(gca,'XTick',1:5)
%下面是x轴的刻度值
set(gca,'XTickLabel',{'one','two','three','four','five'})
用同样的方法可以定义y轴的刻度和刻度值。
只要把XTick和XTickLabel换成YTick和YTickLabel即可。
相似回答