Matlab x轴缩放 - 均匀间隔的自定义轴

时间:2014-05-02 07:34:07

标签: matlab matlab-figure

使用下面的变量,我需要在x轴上绘制数据(x_values,y_values),并在'x_labels'值处打勾。每个'x_labels'标记必须在x轴上均匀分布(例如1 cm)。

我一直在玩XTick'和' XTickLabel'变量虽然我在网上搜索所有其他例子与'x_labels'和'x_values'相同时有关。这里的挑战是'x_labels'和'x_values'之间存在不同的间距。请帮忙!

x_labels = [4 8 16 32 64 128];
x_values = [5 10 35 50 60 70 90 120];
y_values = rand(1,length(x_values))

谢谢!

1 个答案:

答案 0 :(得分:2)

使用set命令可以单独指定轴的xTick and xTickLabel(靠近链接底部)属性,xTick定义刻度线位置,xTickLabel定义标签。
所以在绘制数据之后:

plot(x_values,y_values);

我们可以自由设置位置,在这个例子中,它们在零和x_values的最大值之间均匀分布。然后使用set命令设置轴属性,(gca是当前轴句柄)

x_label_locations = linspace(0,max(x_values),numel(x_labels));

set(gca,'xTick',x_label_locations,'xTickLabel',x_labels)