Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで目盛りを追加せずにラベルを下から上へ移動する方法

Matplotlibでは、目盛り自体はそのままにして、軸ラベルだけを下側から上側へ移動させたいケースがあります。例えば、ヒートマップなどで上辺にラベルを配置したい場合です。本記事では、tick_params()メソッドを使って、目盛りを追加することなくラベルの位置を変更する手順を解説します。

実装の手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
  • 5×5のランダムなデータ(行列)を作成します。
  • imshow()メソッドを使用して、2次元の正規ラスター上にデータを画像として表示します。
  • tick_params()メソッドを使用して、ラベルを下から上へ移動します。
  • show()メソッドで図を表示します。

コード例

import numpy as np
from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

data = np.random.rand(5, 5)

plt.imshow(data, cmap="copper")
plt.tick_params(axis='both', which='major',
                labelsize=10, labelbottom=False,
                bottom=True, top=False, labeltop=True)

plt.show()

出力結果

Matplotlibで目盛りを追加せずにラベルを下から上へ移動する方法

ポイント解説:tick_params()の主要パラメータ

このコードの鍵となるのはtick_params()に渡す引数です。それぞれの役割は以下の通りです。

  • labelbottom=False:下側のラベル表示をオフにします。
  • labeltop=True:上側にラベルを表示します。
  • bottom=True:下側の目盛り線は表示したまま維持します。
  • top=False:上側には目盛り線を表示しません。

このように「ラベル(label〜)」と「目盛り線」の設定を分けて指定できるため、目盛りを一切追加することなく、ラベルの位置だけを自由に制御できます。axis='both'を指定するとX軸・Y軸の両方に設定が適用されますが、X軸のみを対象にしたい場合はaxis='x'と指定してください。

  1. MatplotlibでFigureからカラーバーのインスタンスを取得する方法

    概要MatplotlibでFigureからカラーバーのインスタンスを取得するには、imshow()が返すScalarMappableオブジェクトをcolorbar()メソッドに渡します。これにより、戻り値としてカラーバーのインスタンスを受け取ることができます。手順-1〜1の範囲の値を持つ10×10のランダムな配列データを生成します。imshow()メソッドを使用して、データを2次元の正規ラスタ(画像)として表示します。imshow()が返すScalarMappableインスタンスをcolorbar()に渡し、カラーバーを作成すると同時にそのインスタンスを取得します。show()メソッドを使用し

  2. MatplotlibでRectangle(長方形)に色を設定する方法

    Matplotlibで長方形(Rectangle)に色を設定するには、以下の手順に従います。手順figure() メソッドを使用して、新しい図(Figure)を作成するか、既存の図をアクティブにします。add_subplot() メソッドを使用して、サブプロット構成の一部として図に ~.axes.Axes を追加します。長方形は、アンカーポイント(基準座標)と幅・高さを指定することで定義できます。作成したRectangleパッチを add_patch() でプロットに追加します。xlim() および ylim() メソッドを使用して、x軸とy軸の表示範囲を設定します。図を表示するには、show