忽略matlab图中的非指定点

时间:2014-08-26 09:54:35

标签: matlab plot label

如何忽略matlab图的x轴标签中的非指定值?

代表: 如果我的

x=[201:210];,y=rand(size(x));

我想只显示x的那些指定值,例如201,202,203 ..而不是像201.5,202.5这样的中间值。基本上我想在我的情节中摆脱这些小数值。

提前谢谢。 杜拉

1 个答案:

答案 0 :(得分:1)

如果您不想绘制它们。您只需指定绘图中使用的变量即可。

plot(x(1:2:end),y(1:2:end))

这将仅绘制每秒的值。显然,你可以使用逻辑索引和任何其他方法,例如另一个索引数组。

plot(x(x>10),y(x>10)) 

作为另一个例子。请注意在两个变量中使用相同的命令,否则会得到错误的结果或错误(如果点数不匹配)。

如果要绘制特定值,可以使用for循环遍历要使用的值:

x=1:1:10;
y=115:15:250;

figure(2)
for x=[4,5,7]
    display(x)
    plot(x,y(x),'x'); hold on
end

如果您只想更改显示的区域但使用整套数据点,您可以使用:

axis([xmin,xmax,ymin,ymax])

或者如果您想更改x轴使用的标签:

set(gca, 'XTick',new_x_axis_steps, 'XTickLabel',new_x_labels(new_x_axis_steps))

其中new_x_axis_steps是一个定义开始,结束点和步骤的数组,new_x_labels就是你想在那里写的(如果你想使用字符串),否则只需使用:

set(gca, 'XTick',new_x_axis_steps)