メインコンテンツ

GeographicRuler のプロパティ

地理的な値により軸を制御

GeographicRuler プロパティは、GeographicAxes オブジェクトの緯度軸と経度軸の外観と動作を制御します。それぞれの軸が固有のルーラー オブジェクトをもちます。ルーラーのプロパティ値を変更することにより、特定の軸の特定の要素を変更できます。

ルーラーのプロパティを設定する代わりに、地理座標軸のプロパティを設定することにより、ルーラーの一部の要素をカスタマイズできます。たとえば、各 GeographicRuler オブジェクトの Color プロパティを設定して、ルーラーごとに異なる色を指定できます。ただし、GeographicAxes オブジェクトの AxisColor プロパティを設定すると、ルーラーの外観の一貫性を保つことができます。

特定のルーラーとプロパティを参照するには、ドット表記を使用します。GeographicAxes オブジェクトの LatitudeAxis プロパティまたは LongitudeAxis プロパティを介して、ルーラー オブジェクトにアクセスします。

geoplot(1:10,1:10)
gx = gca;
co = gx.LatitudeAxis.Color;
gx.LatitudeAxis.Color = "blue";

外観

すべて展開する

この プロパティ は読み取り専用です。

軸の範囲の上限と下限。[min max] の形式の 2 要素ベクトルとして返されます。

GeographicAxes オブジェクトの範囲を設定するには、関数 geolimits を使用します。

メモ

緯度と経度の座標軸に関する Limits プロパティの値は、親 GeographicAxes オブジェクトの LatitudeLimits プロパティと LongitudeLimits プロパティの値とそれぞれ一致します。

例: latlim = gx.LatitudeAxis.Limits;

軸のラインとラベルの色。RGB 3 成分、16 進数カラー コード、色名、または色の省略名として指定します。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

メモ

親座標軸の AxisColor プロパティを設定すると、ルーラー オブジェクトの Color プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、親座標軸には影響しません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

例: gx.LatitudeAxis.Color = "b"

例: gx.LatitudeAxis.Color = "blue"

例: gx.LatitudeAxis.Color = [0.1 0.7 0.8];

例: gx.LatitudeAxis.Color = "#0000FF";

軸のラインと目盛りの幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。

メモ

親座標軸の LineWidth プロパティを設定すると、ルーラー オブジェクトの LineWidth プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、親座標軸には影響しません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

例: gx.LatitudeAxis.LineWidth = 2;

軸のラベル。Text オブジェクトとして指定します。

既存のテキストを変更するには、Text オブジェクトの String プロパティを設定します。フォント サイズや色など、その他のプロパティを使用してテキストの外観を変更します。

次のコードは、緯度軸ラベルのテキストを "Latitude Axis" に、経度軸ラベルのフォント サイズを 16 に変更する方法を示しています。

gx = geoaxes;
gx.LatitudeAxis.Label.String = "Latitude Axis";
gx.LongitudeAxis.Label.FontSize = 16;

オプションの完全な一覧については、Text のプロパティ を参照してください。

Geographic axes with customized latitude and longitude axis labels. The latitude axis label has updated text and the longitude axis label is larger.

メモ

  • text オブジェクトはルーラー オブジェクトの子ではありません。したがって、findobj で返すことはできず、既定のテキスト プロパティ値を使用しません。

  • このプロパティに格納される text オブジェクトは、親オブジェクトのラベルのプロパティに格納される text オブジェクトと同じです。したがって、ルーラーまたは親オブジェクトのいずれかのプロパティを使用して text オブジェクトを変更できます。たとえば、緯度軸ルーラーの Label プロパティに格納される text オブジェクトのフォント サイズを設定することは、親座標軸の LatitudeLabel プロパティに格納される text オブジェクトのフォント サイズを設定することと同じです。

軸ラベルの水平方向の配置。次の表のいずれかの値として指定します。

LabelHorizontalAlignment説明外観
'center'

横軸の場合、ラベルはプロット ボックスの左端と右端の間で中央に配置されます。

縦軸の場合、ラベルはプロット ボックスの上端と下端の間で中央に配置されます。

Horizontal and a vertical axis labels that are centered.

'left'

横軸の場合、ラベルはプロット ボックスの左端に揃えられます。

縦軸の場合、ラベルはプロット ボックスの下端に揃えられます。

Horizontal and a vertical axis labels that left-aligned.

'right'

横軸の場合、ラベルはプロット ボックスの右端に揃えられます。

縦軸の場合、ラベルはプロット ボックスの上端に揃えられます。

Horizontal and a vertical axis labels that right-aligned.

軸ルーラーの可視性。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off' の値は false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — 軸ルーラーを表示する。

  • 'off' — 軸ルーラーを削除せず、非表示にする。ルーラー オブジェクトを使用して、非表示の軸ルーラーのプロパティにアクセスできます。

例: gx.LatitudeAxis.Visible = "off";

目盛りの値とラベル

すべて展開する

軸の目盛りの位置。増加する値からなるベクトルとして指定します。

このプロパティに値を割り当てた場合、MATLAB®TickValuesMode プロパティを 'manual' に設定します。

例: gx.LatitudeAxis.TickValues = [-15 -10 0 10 15];

例: gx.LongitudeAxis.TickValues = 0:10:100;

TickValues プロパティの選択モード。次の値のいずれかとして指定します。

  • 'auto' — マップの範囲と軸の位置 (サイズ) に基づいて目盛り値を自動的に選択します。

  • 'manual' — 指定された目盛りの値を使用します。値を指定するには、TickValues プロパティを設定します。

目盛りラベル。文字ベクトルの cell 配列または string 配列として指定します。指定したラベルの個数が目盛り値の個数よりも少ない場合、ラベルが繰り返されます。ラベルでは TeX および LaTeX マークアップがサポートされます。詳細については、TickLabelInterpreter プロパティを参照してください。

例: gx.TickValues = [-66.5 -23.5 0 23.5 66.5];

例: gx.LatitudeAxis.TickLabels = {'Antarctic Circle','Tropic of Capricorn','Equator','Tropic of Cancer','Arctic Circle'};

このプロパティを設定した場合、MATLAB は TickLabelsMode プロパティを 'manual' に設定します。

データ型: char | string

TickLabels プロパティの選択モード。次の値のいずれかとして指定します。

  • 'auto' — 目盛りラベルを自動的に選択します。

  • 'manual' — 指定された目盛りラベルを使用します。ラベルを指定するには、TickLabels プロパティを設定します。

目盛りラベルの色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

メモ

ルーラーの Color プロパティを設定すると、TickLabelColor プロパティも同じ値に設定されます。ただし、TickLabelColor プロパティを設定しても Color プロパティは変更されません。Color プロパティの値によって TickLabelColor プロパティの値がオーバーライドされないようにするには、最初に Color プロパティを設定してから、TickLabelColor プロパティを設定してください。

目盛りラベルの文字の解釈。次の値のいずれかとして指定します。

  • 'tex' — TeX マークアップのサブセットを使用して文字を解釈します。

  • 'latex' — LaTeX マークアップを使用して文字を解釈します。

  • 'none' — リテラル文字を表示します。

これらのインタープリターの詳細については、Text のプロパティ リファレンス ページの Interpreter プロパティを参照してください。

例: gx.LatitudeAxis.TickLabelInterpreter = 'latex';

目盛りラベルの形式。次の値のいずれかとして指定します。

形式説明
"dd"小数部を含む度とコンパス方位23°N
"dm"度、小数部を含む分とコンパス方位18°30'W
"dms" (既定)度、分、小数部を含む秒とコンパス方位110°06'18.5"E
"-dd"小数部を含む度。南と西を表す場合はマイナス符号 (–) を付ける-115.25°
"-dm"度、小数部を含む分。南と西を表す場合はマイナス符号 (–) を付ける-5°45.5'
"-dms"度、分、小数部を含む秒。南と西を表す場合はマイナス符号 (–) を付ける-3°21'05"

また、目盛りラベルの形式は関数 geotickformat を使用して指定することもできます。

メモ

親座標軸の TickLabelFormat プロパティを設定すると、ルーラー オブジェクトの TickLabelFormat プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、親座標軸には影響しません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

例: gx.LatitudeAxis.TickLabelFormat = "dd";

目盛りラベルの回転。度単位のスカラー値として指定します。正の値を指定すると反時計回りになります。負の値を指定すると時計回りになります。

このプロパティに値を割り当てた場合、MATLAB は TickLabelRotation プロパティを 'manual' に設定します。

例: gx.LatitudeAxis.TickLabelRotation = -45;

例: gx.LongitudeAxis.TickLabelRotation = 45;

TickLabelRotation プロパティの選択モード。次の値のいずれかとして指定します。

  • 'auto' — オブジェクトが自動的に目盛りラベルの回転を選択します。

  • 'manual' — 指定された目盛りラベルの回転を使用します。回転を指定するには、TickLabelRotation プロパティを設定します。

目盛りの方向。次の値のいずれかとして指定します。

  • 'in' — 軸のラインの内側に目盛りを付けます。これは 2 次元表示の既定の設定です。

  • 'out' — 軸のラインの外側に目盛りを付けます。これは 3 次元表示の既定の設定です。

  • 'both' — 軸のラインに目盛りの中心を合わせます。

  • 'none' — 目盛りを表示しません。

このプロパティに値を割り当てた場合、MATLAB は TickDirectionMode プロパティを 'manual' に設定します。

メモ

親座標軸の TickDir プロパティを設定すると、ルーラーの TickDirection プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、座標軸のプロパティは設定されません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

TickDirection プロパティの選択モード。次の値のいずれかとして指定します。

  • 'auto' — 目盛りの方向を自動的に選択します。

  • 'manual' — 指定された目盛りの方向を使用します。目盛りの方向を指定するには、TickDirection プロパティを設定します。

目盛りの長さ。[length unused] の形式の 2 要素ベクトルとして指定します。最初の要素は、目盛りの長さです。地理ルーラーでは 2 番目の要素は使用されませんが、他のルーラー オブジェクトと一致させるために含まれています。最も長い座標軸の次元を基準にして正規化された単位で値を指定します。

メモ

親座標軸の TickLength プロパティを設定すると、ルーラー オブジェクトの TickLength プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、親座標軸には影響しません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

例: gx.LatitudeAxis.TickLength = [0.04 0];

フォント

すべて展開する

フォント名。システムでサポートされているフォント名または 'FixedWidth' として指定します。既定のフォントは、特定のシステムとロケールによって異なります。どのロケールでもテキストが整って見える固定幅のフォントを使用するには、'FixedWidth' を指定します。実際に使用される固定幅フォントは、root オブジェクトの FixedWidthFontName プロパティによって決まります。

メモ

親座標軸の FontName プロパティを設定すると、ルーラー オブジェクトの FontName プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、親座標軸には影響しません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

例: gx.LatitudeAxis.FontName = "Cambria";

フォント サイズ。スカラー数値として指定します。既定のフォント サイズは、特定のオペレーティング システムとロケールによって異なります。

メモ

  • 親座標軸の FontSize プロパティを設定すると、ルーラーの FontSize プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、座標軸のプロパティは設定されません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

  • ルーラーの FontSize プロパティを設定すると、目盛りラベルのサイズが変更されます。このとき、MATLAB では、親座標軸の LabelFontSizeMultiplier を使用して対応する座標軸のラベルのフォント サイズも更新されます。たとえば、緯度軸ルーラーのフォント サイズを 12 に設定すると、親座標軸の LatitudeLabel プロパティのフォント サイズが 12 に LabelFontSizeMultiplier プロパティの値を掛けた値に設定されます。

例: gx.LatitudeAxis.FontSize = 12;

テキスト文字の太さ。次の値のいずれかとして指定します。

  • 'normal' — 各フォントで定義されている既定の太さ

  • 'bold' — 標準よりも太い文字

MATLAB のフォントは、FontWeight プロパティを使用して、ユーザーのシステムで使用可能なフォントから選択されます。すべてのフォントに太字フォントがあるとは限りません。そのため、太字フォントを指定しても標準フォントの太さと変わらない場合があります。

メモ

親座標軸の FontWeight プロパティを設定すると、ルーラー オブジェクトの FontWeight プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、親座標軸には影響しません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

例: gx.LatitudeAxis.FontWeight = "bold";

文字の傾斜。'normal' または 'italic' として指定します。すべてのフォントに両方のフォント スタイルがあるとは限りません。そのため、イタリック フォントでも標準フォントと見た目が変わらない場合があります。

メモ

親座標軸の FontAngle プロパティを設定すると、ルーラー オブジェクトの FontAngle プロパティも同じ値に設定されます。ただし、ルーラーのプロパティを設定しても、親座標軸には影響しません。座標軸のプロパティ値によってルーラーのプロパティ値がオーバーライドされないようにするには、最初に座標軸の値を設定してから、ルーラーの値を設定してください。

例: gx.LatitudeAxis.FontAngle = "italic";

コールバック

すべて展開する

軸の範囲が変更されたときのコールバック。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

このコールバックは、軸の範囲がプログラムによって変更された場合または座標軸内での移動などの操作を使用して変更された場合に実行されます。また、プロット関数を呼び出して MATLAB でデータの範囲を含めるために軸の範囲が変更された場合にも実行されることがあります。

このコールバック関数は、軸の範囲に関する特定の情報にアクセスできます。MATLAB は、この情報を LimitsChanged オブジェクトに格納して、2 番目の引数としてコールバック関数に渡します。App Designer でのアプリの開発においては、引数は event と呼ばれます。ドット表記を使用して、オブジェクトのプロパティをクエリできます。たとえば、event.NewLimits は新しい軸の範囲を返します。LimitsChanged オブジェクトは、文字ベクトルとして指定されているコールバック関数では使用できません。

次の表に、LimitsChanged オブジェクトのプロパティを示します。

プロパティ

説明

Source

コールバックを実行するルーラー オブジェクト

EventName

'LimitsChanged'

OldLimits

前の軸の範囲を含む 2 要素ベクトル

NewLimits

新しい軸の範囲を含む 2 要素ベクトル

アプリでのコールバックの記述の詳細については、App Designer のコールバックを参照してください。

親/子

すべて展開する

ルーラーの親。GeographicAxes オブジェクトとして指定します。

メモ

ルーラー オブジェクトは、親の GeographicAxes オブジェクトの Children プロパティにはリストされません。

このルーラーには子がありません。このプロパティは設定できません。

バージョン履歴

R2019a で導入

すべて展開する