繁体   English   中英

在matlab图中自定义x轴值

[英]Custom x-axis values in a matlab plot

目前,当我绘制一个9乘6的数组时,该数字的x轴只有1,2,3到9.Y轴显示正确的值。

而不是1到9我想要x轴值是自定义的。 他们应该是

100 200 400 1000 2000 5000 10000 20000 50000

代替。 我试过了

set(gca,'XTick', [100 200 400 1000 2000 5000 10000 20000 50000])

但这不是正确的做法。 是否有一个Matlab选项可以为x轴提供这些自定义值? 为什么Matlab只使用1到9?

如果你想保持x值之间的距离(例如1:9)并且只改变标签(而不是x值之间的距离),试试这个:

y = rand(9,6);
labels = [100 200 400 1000 2000 5000 10000 20000 50000];
plot(y);
set(gca, 'XTick', 1:length(labels)); % Change x-axis ticks
set(gca, 'XTickLabel', labels); % Change x-axis ticks labels.

您应该使用xTickLabel而不是XTick

MATLAB将每列绘制为单独的曲线。 因此,这意味着每条曲线有6条曲线和9条数据点。 x轴数据为1-9,因为您没有提供MATLAB绘图的任何数据。

此外,你可能想要错误的东西。 这样做会给你相等的间距。 它只会用您的阵列替换1-9。 由于您的x轴数据间隔不均匀,因此会很奇怪。

你可能想这样做:

xdat = [100 200 400 1000 2000 5000 10000 20000 50000];
ydat = rand(9,6); % Your y-axis data
plot(xdat, ydat)

尝试使用

x = [100 200 400 1000 2000 5000 10000 20000 50000];
y = rand(9,6); % Your y-axis data
plot(x, y);
set(gca,'XTick',x); % Change x-axis ticks
set(gca,'XTickLabel',x); % Change x-axis ticks labels to desired values.

请注意,由于使用非x轴的值/幅度非常不同,您可以获得非常接近(且不可读)的一些x标签

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM