matlab坐标轴改变数字

matlab中如何让坐标轴上的数字,大数自动转换成用k来表示,如10000用10k来表示?如图所示,要用命令来改。

这个是可以实现的,用XTicklabel修改,要实现自动转换,只要加段小程序就可以了

举个例子
x=0:16000;
y=normpdf(x,8000,2000);
semilogx(x,y)
Xp =logspace(log10(31.25),log10(16000),10);
s=cell(1,length(Xp));
for i=1:length(Xp)
if Xp(i)<1000
s{1,i}=num2str(Xp(i))
else
s{1,i}=[num2str(floor(Xp(i)/1000)),'k']
end
end
XTickLabel=s;
set(gca,'XTickLabel',XTickLabel, 'XTick',Xp);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-25
set(gca,'XTick',[10000,20000],'XTickLabel',{'10k','20k'})追问

这样岂不是每一个都要指定?不能根据数字大小自动转换吗?

追答

不能

相似回答