Dev*_*von 10 matlab plot axis octave figure
目前,当我绘制一个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])
Run Code Online (Sandbox Code Playgroud)
但这不是正确的做法.是否有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.
Run Code Online (Sandbox Code Playgroud)
您应该使用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)
Run Code Online (Sandbox Code Playgroud)