MATLAB二维绘图横坐标问题

我用MATLAB画了一幅有两条线的图,但是它的横坐标却不是从0开始的,还有我想把X轴的刻度设置为0,0.1,0.2.。。一直到1,但是我更改axis([0 10 0 100])为axis([0 1 0 100]),却不行,我想问问这是为什么呀,代码如下:axis([0 10 0 100])
x=[0 4 15 20 26 30 40 47 58 67 70];
y=[0 1 2 3 4 5 6 9 14 19 25];
hold on
plot(x,'-o','MarkerFaceColor','b')
plot(y,'*-r')
hold off
非常感谢大家,这是我重新修改的代码,并附图如下
axis([0 10 0 100])
set(gca,'xticklabel',{'0','0.1', '0.2', '0.3', '0.4' ,'0.5','0.6', '0.7', '0.8', '0.9' ,'1'});
x=[0 4 15 20 26 30 40 47 58 67 70];
y=[0 1 2 3 4 5 6 9 14 19 25];
hold on
plot(x,'-o','MarkerFaceColor','b')
plot(y,'*-r')
legend('normal node','central node')
hold off
我把现在的图传上来就清楚了,现在是横坐标我只能用set(gca,'xticklabel',{'0','0.1', '0.2', '0.3', '0.4' ,'0.5','0.6', '0.7', '0.8', '0.9' ,'1'});这样完成,而横坐标的数据,我想让他从刻度0开始,即将横坐标左移一格,应该怎么改呢

第1个回答  推荐于2016-08-30
没看明白你的要求是什么?
【它的横坐标却不是从0开始的】:是说两条线坐标不是从0开始吗?只用一组数据plot的时候,会以1:length(数据)为横坐标,当然不是从0开始。
【想把X轴的刻度设置为0,0.1,0.2.。。一直到1】:你的代码中没有任何语句是实现这样功能的啊?追问

非常感谢哦,我把问题重新修改了,而且传了一幅现在仿真的图,我想问问,现在我该如何修改呢

追答

【让他从刻度0开始,即将横坐标左移一格】是什么意思?是把曲线整体左移吗?
顺便说一下,你现在的做法,x坐标的实际值和显示值(TickLabel)不一致,不推荐这么做。

追问

我的意思是,比如:x=[0 4 15 20 26 30 40 47 58 67 70];
这组数据。x轴的0刻度对应数字0,0.1对应的4,0.2对应15,这个结果是我想要的。
可现在的情况是,x轴的0刻度没有,0.1刻度对应0,0.2刻度对应4,0.3对应15,所以这不是我想要的,那请问,我如果想要上面的那个结果应该如何修改呢?

追答

【x轴的0刻度没有】你的意思是曲线在横坐标为0的地方没有数据点,是吧?

 

plot绘图本来就应该带上x轴数据的:

x=[0 4 15 20 26 30 40 47 58 67 70];
y=[0 1 2 3 4 5 6 9 14 19 25];
hold on
t=0:0.1:1;
plot(t,x,'-o','MarkerFaceColor','b')
plot(t,y,'*-r')
legend('normal node','central node')
ylim([0 100])
hold off

你看这样是不是你想要的?

本回答被提问者和网友采纳
第2个回答  2021-02-24

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

第3个回答  2015-02-28
应该是这样。t=(0:size(X,2)-1)*0.
欢迎交流。追问

这条代码好像不起作用哦,我试着写进去,没有效果。应该怎么用呢,而且我现在把代码和问题重新修改了,并且传了现在仿真的图,能帮我看看现在应该怎么改吗

相似回答