2017-09-01 8 views
1

同じグラフ上のxの値に対して2つのベクトルをプロットしようとしました。そして数字の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); 

このグラフは、私がインデントしたものではありません。として、私はx50 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