軸の目盛り値とラベルの指定
軸の目盛り値とラベルをカスタマイズすることで、データの特定の様相を強調できます。この例では、目盛り値の配置の変更、目盛りラベルのテキストと書式設定の変更、および目盛りラベルの回転などのいくつかの一般的なカスタマイズ方法について説明します。
目盛り値の位置とラベルの変更
-10 ~ 10 の範囲で線形に配置された 200 個の値として x を作成します。x の余弦として y を作成します。データをプロットします。
x = linspace(-10,10,200); y = cos(x); plot(x,y)
x 軸と y 軸の目盛り値の位置を変更します。増加する値からなるベクトルとして位置を指定します。値は等間隔にする必要はありません。
さらに、x 軸の各目盛り値の関連するラベルを変更します。文字ベクトルの cell 配列を使用してラベルを指定します。ラベルに特殊文字やギリシャ文字を含めるには、たとえば 記号に対する \pi
のように、TeX マークアップを使用します。
xticks([-3*pi -2*pi -pi 0 pi 2*pi 3*pi]) xticklabels({'-3\pi','-2\pi','-\pi','0','\pi','2\pi','3\pi'}) yticks([-1 -0.8 -0.2 0 0.2 0.8 1])
R2016b より前のリリースの場合は、代わりに Axes
オブジェクトの XTick
、XTickLabel
、YTick
、YTickLabel
の各プロパティを使用して目盛り値とラベルを設定します。たとえば、ax = gca
のようにして、Axes
オブジェクトを変数に代入します。次に、ax.XTick = [-3*pi -2*pi -pi 0 pi 2*pi 3*pi]
のようにドット表記を使用して XTick
プロパティを設定します。R2014b より前のリリースの場合は、代わりに関数 set
を使用してプロパティを設定します。
目盛りラベルの回転
散布図を作成し、各軸の目盛りラベルを回転させます。回転をスカラー値で指定します。正の値は反時計回りの回転を示します。負の値は時計回りの回転を示します。
x = 1000*rand(40,1); y = rand(40,1); scatter(x,y) xtickangle(45) ytickangle(90)
R2016b より前のリリースの場合は、Axes
オブジェクトの XTickLabelRotation
プロパティと YTickLabelRotation
プロパティを使用して回転を指定します。たとえば、ax = gca
のようにして、Axes
オブジェクトを変数に代入します。次に、ax.XTickLabelRotation = 45
のようにドット表記を使用して XTickLabelRotation
プロパティを設定します。
目盛りラベルの書式設定の変更
ステム グラフを作成し、y 軸の目盛りラベルの値を米国ドル値として表示します。
profit = [20 40 50 40 50 60 70 60 70 60 60 70 80 90];
stem(profit)
xlim([0 15])
ytickformat('usd')
書式設定をより詳細に制御するには、カスタム形式を指定します。たとえば、'%.1f'
を使用して、x 軸の目盛りラベルに小数点以下 1 桁の値を表示します。'\xA3%.2f'
を使用して、y 軸の目盛りラベルを英国ポンドで表示します。オプション \xA3
は、ポンド記号の Unicode 文字を示します。カスタム形式の指定の詳細については、関数xtickformat
を参照してください。
xtickformat('%.1f') ytickformat('\xA3%.2f')
個々の軸制御のためのルーラー オブジェクト
MATLAB は、軸ごとにルーラー オブジェクトを作成します。他のすべてのグラフィックス オブジェクトと同様に、ルーラー オブジェクトには表示と変更が可能なプロパティがあります。ルーラー オブジェクトを使用すると、x 軸、y 軸、または z 軸の書式設定を詳細かつ個別に制御できます。特定の軸に関連付けられているルーラー オブジェクトに、Axes
オブジェクトの XAxis
、YAxis
、または ZAxis
プロパティを使用してアクセスします。ルーラーのタイプは、軸のデータの種類によって異なります。数値データの場合、MATLAB は NumericRuler
オブジェクトを作成します。
ax = gca; ax.XAxis
ans = NumericRuler with properties: Limits: [0 15] Scale: 'linear' Exponent: 0 TickValues: [0 5 10 15] TickLabelFormat: '%.1f' Use GET to show all properties
ルーラー オブジェクトを使用した 2 番目のラベルの指数値の制御
-15,000 から 15,000 の範囲の y 値でデータをプロットします。既定では、y 軸の目盛りラベルは、指数値 4、基底 10 の指数表記を使用します。指数値を 2 に変更します。y 軸に関連付けられたルーラー オブジェクトの Exponent
プロパティを設定します。Axes
オブジェクトの YAxis
プロパティによってルーラー オブジェクトにアクセスします。設定に応じて、2 番目のラベルと目盛りラベルが変更されます。
x = linspace(0,5,1000); y = 100*exp(x).*sin(20*x); plot(x,y) ax = gca; ax.YAxis.Exponent = 2;
目盛りラベルが指数表記を使用しないように、指数値を 0 に変更します。
ax.YAxis.Exponent = 0;
参考
関数
xlim
|xticks
|yticks
|zticks
|xtickformat
|xtickangle
|xsecondarylabel
|ysecondarylabel