2014-05-02 224 views
1

使用下面的變量,我需要繪製x軸上的數據(x_values,y_values),並在'x_labels'值上標記刻度。每個'x_labels'刻度必須在x軸上均勻分佈(例如1釐米)。Matlab x軸縮放 - 均勻分佈的自定義軸

我一直在玩'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)) 

謝謝!

回答

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)