2017-09-01 85 views
1

我一直試圖在同一個圖上繪製兩個向量與一些x的值。我想手動設置數字x作爲字符。但最終的結果看起來很奇怪。當我在MATLAB中手動設置x軸標籤時錯誤的刻度位置

vars = {'50', '100', '250', '500'}; 
inducing_p = linspace(1,4,4); 
ind_table_mse = [0.9051 0.8911 0.8770 0.8688]; 
ind_table_mseF = [0.9155 0.9070 0.8796 0.8708]; 


plot(inducing_p, ind_table_mse); 
hold on; 
plot(inducing_p, ind_table_mseF); 
title('ASA Flight Delay Dataset','interpreter','latex'); 
xlabel('Inducing points','interpreter','latex'); 
ylabel('MSE','interpreter','latex'); 
set(gca,'XTickLabel',vars); 
xtickangle(45); 

而且我得到了這個圖,它並不是我縮進的東西。因爲,我想只在x上看到50 100 250 500標籤。有什麼建議嗎?

enter image description here

回答

2

你必須先修改刻度線的位置,你的身材

figure 
plot(inducing_p, ind_table_mse); 
hold on; 
plot(inducing_p, ind_table_mseF); 
title('ASA Flight Delay Dataset','interpreter','latex'); 
xlabel('Inducing points','interpreter','latex'); 
ylabel('MSE','interpreter','latex'); 
set(gca,'XTick',[1 2 3 4]); %%%% HERE 
set(gca,'XTickLabel',vars); 
xtickangle(45); 

怪異行爲確因您指定比蜱標籤少的事實。所以Matlab只是重複它們。

+0

每天你學到新東西哈哈謝謝 – Jespar

+0

也許我應該改變標題。更具體的問題。 – Jespar

相關問題