web-dev-qa-db-ja.com

MATLABプロットのカスタムX軸値

現在、9 x 6の配列をプロットすると、図のx軸は1、2、3から9までです。Y軸は正しい値を示します。

1から9の代わりに、x軸の値をカスタムにします。彼らはする必要があります

100200400 1000 2000 5000 10000 20000 50000

代わりに。私は試した

set(gca,'XTick', [100 200 400 1000 2000 5000 10000 20000 50000])

しかし、それはそれを行う正しい方法ではありません。 x軸にこれらのカスタム値を設定するMatlabオプションはありますか?とにかくMatlabが1〜9を使用しているのはなぜですか?

10
Devon

XTickの代わりに xTickLabel を使用する必要があります。

MATLABは、すべての列を個別の曲線としてプロットします。つまり、6つの曲線と各曲線に9つのデータポイントがあるということです。 MATLABでプロットするデータを提供しなかったため、x軸のデータは1〜9です。

さらに、おそらくあなたは間違ったことを望んでいるでしょう。これを行うと、等間隔になります。 1-9をあなたのアレイに置き換えます。 x軸のデータは等間隔ではないため、奇妙なものになります。

次のようにすることをお勧めします。

xdat = [100 200 400 1000 2000 5000 10000 20000 50000];
ydat = Rand(9,6); % Your y-axis data
plot(xdat, ydat)
4
HebeleHododo

X値間の距離(例1:9)を維持し、ラベルのみを変更したい場合(X値間の距離ではなく)、これを試してください:

y = Rand(9,6);
labels = [100 200 400 1000 2000 5000 10000 20000 50000];
plot(y);
set(gca, 'XTick', 1:length(labels)); % Change x-axis ticks
set(gca, 'XTickLabel', labels); % Change x-axis ticks labels.
7
Framerius

使ってみてください

x = [100 200 400 1000 2000 5000 10000 20000 50000];
y = Rand(9,6); % Your y-axis data
plot(x, y);
set(gca,'XTick',x); % Change x-axis ticks
set(gca,'XTickLabel',x); % Change x-axis ticks labels to desired values.

Un x軸を使用するための非常に異なる値/大きさのために、いくつかのxラベルが非常に近くなる(そして判読できない)ことに注意してください。

3
Transfinito