如何用不等的数值空间设置matlab xticks等距离?

时间:2018-03-13 14:20:28

标签: matlab plot

我正在绘制多项式数据,但我希望将其显示在一条直线上以便更清晰。

我希望x轴刻度线显示N ^ 2,其中N是刻度位置。我还希望图表上的实际刻度均匀分布,即使数字不是。

我尝试使用

更改刻度

xtick_squared =(0:10:100)。^ 2 集(GCA,' XTICK',xtick_squared,' xTickLabel',xtick_squared)

但它给出了这一点 enter image description here

如何在重新定义值以及调整数据的同时显示每个均匀间隔?

2 个答案:

答案 0 :(得分:0)

您可以指定x-ticks的位置,然后重命名它们。

以下是代码示例:

 x=[0,10,20,30,40,50].^2;
 plot(x,x)
 set(gca,'XTick',linspace(0,2500,6),'XTickLabels',num2cell(x))

P.S。:请注意,您的实际数据是在均匀间隔的网格上绘制的。我刚刚重命名了蜱虫'名。

编辑:如果要绘制实际数据,则需要相应地缩放x - 轴。如果您想plot(x,x),则需要致电plot(sqrt(x),x)

 x=[0,10,20,30,40,50].^2;
 plot(sqrt(x),x)
 set(gca,'XTick',linspace(0,2500,6),'XTickLabels',num2cell(x))

答案 1 :(得分:0)

这应该可以正常工作:

x = 0:10:100;
y = (x .^ 2) + 5;
labs = sprintfc('%d',x.^2);

plot(x,y);
set(gca,'XTickLabel',labs);

实际上,所有关于更改刻度标签而不改变刻度本身。这是最终输出:

enter image description here