使用下面的变量,我需要在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))
谢谢!
答案 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)