如何忽略matlab图的x轴标签中的非指定值?
代表: 如果我的
x=[201:210];,y=rand(size(x));
我想只显示x的那些指定值,例如201,202,203 ..而不是像201.5,202.5这样的中间值。基本上我想在我的情节中摆脱这些小数值。
提前谢谢。 杜拉答案 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)