matlab中如何设置使得坐标刻度是的2指数次方,并且间隔是一样的

我想实现如图中的x轴的效果,显示的坐标是2的指数,并且间隔相同,请各位高人指点,谢谢了!

figure(1)

set(gca,'xlim',[-0.5 5.5]);

set(gca,'xtick',[0 1 2 3 4 5]);

set(gca,'xticklabel',num2str(2.^[0 1 2 3 4 5]'));


温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-25
a=[0.1 0.2 0.3 0.4 0.5];
x=0:1:4;
plot(x,a,'--gs');grid;
set(gca,'xtick',[-1:0.5:5]);
set(gca,'ytick',[-1:0.1:2]);
axis([-6 6 -4 5])

a是待显示数据,x标定了a数据与x的对应,x数目需与a的相等。

用set(gca,'xtick',[0:0.1:4]);可以设定x轴的带显示刻度的范围及刻度间隔,即哪个范围内有刻度,刻度间隔为多少。
用类似于set(gca,'xtick',[0:10:100,140:40:400])还可以设置非均匀刻度。

用axis控制的则是整个图形显示时,显示出来的范围,注意与有刻度的范围的区别。
最后一定注意的是这几个函数在程序中出现的顺序,千万不要将plot放到它们两个的后面。否则这两个函数就失去作用了。set和axis的顺序可以对调。
相似回答