『Python数値計算ノート』ではアフィリエイトプログラムを利用して商品を紹介しています。

【Matplotlib】目盛と目盛ラベル、目盛線の設定

目盛と目盛ラベルの設定

Axes.set_xticks(), Axes.set_yticks()メソッドの引数に数値のリストを渡すと、x 軸と y 軸の要素の位置に目盛と要素が表示されます。

# MATPLOTLIB_AXES_SET_TICKS

# In[1]

# 必要なモジュールをインポート
import numpy as np
import matplotlib.pyplot as plt

# Figureを設定
fig = plt.figure()

# Axesを追加
ax = fig.add_subplot(111)

# xのデータを作成
x = np.arange(-4, 4, 0.1)

# y = exp(x)
y = np.exp(x)

# Axesのタイトルの設定
ax.set_title("y = exp(x)", fontsize = 16)

# 軸ラベルの設定
ax.set_xlabel("x", size = 14, weight = "light")
ax.set_ylabel("y", size = 14, weight = "light")

# x軸の目盛設定
ax.set_xticks([-4, -2, 0, 2, 4])

# y軸の目盛設定
ax.set_yticks([0, 20, 40])

# 目盛方向を両側に設定
# 目盛の長さを5ポイントに設定
# 目盛と目盛ラベルの色をblueに設定
ax.tick_params(direction = "inout", length = 5, colors = "blue")

# データをプロット
ax.plot(x, y, color = "red")

Matplotlib 目盛りと目盛りラベルの設定
Axes.tick_params()目盛の書式を設定することができます。
このメソッドの主な引数を表にまとめておきます。

tick_params()の引数 説明
axis 目盛を設定する軸
{‘x’ (x軸), ‘y’ (y軸), ‘both’ (両軸)}
which 主目盛と補助目盛の選択
{‘major’ (主目盛), ‘minor’ (補助目盛), ‘both’ (両目盛)}
direction 目盛の方向 {‘in’ (内側), ‘out (外側)’, ‘inout’ (両側)}
length 目盛の長さ {float}
width 目盛の幅 {float}
color 目盛の色 {color}
pad 目盛と目盛ラベルの距離 {float}
labelsize 目盛ラベルのサイズ {float or str}
labelcolor 目盛ラベルの色 {color}
colors 目盛と目盛ラベルの色 {color}
bottom 下軸目盛 {bool}
top 上軸目盛 {bool}
left 左軸目盛 {bool}
right 右軸目盛 {bool}
labelbottom 下軸ラベル {bool}
labeltop 上軸ラベル {bool}
labelleft 左軸ラベル {bool}
labelright 右軸ラベル {bool}

デフォルトでは、Axes.set_xticks(), Axes.set_yticks() に渡したリストの各要素が目盛ラベルとして表示されますが、Axes.set_xticklabels(), Axes.set_yticklabels()メソッドを使って目盛ラベルを上書きすることができます。たとえば上のサンプルコードに

# x軸の目盛ラベルの上書き
ax.set_xticklabels([-4.0, -2.0, 0.0, 1.0, 2.0])

というコードを追加すると、x 軸の目盛ラベルが上書きされて下図のようになります。
 
Python 目盛ラベル上書き
また、引数に空白のリストを渡すと目盛ラベルを削除することができます。

目盛線の設定

Axes.grid()目盛線 を設定することもできます。

# MATPLOTLIB_AXES_GRID

# モジュールをインポート
import matplotlib.pyplot as plt

# Figureを設定
fig = plt.figure()

# Axesを追加
ax = fig.add_subplot(111)

# 軸の範囲を設定
ax.set_xlim(0, 5)
ax.set_ylim(0, 10)

# x軸に補助目盛線を設定
ax.grid(which = "major", axis = "x", color = "blue", alpha = 0.8,
        linestyle = "--", linewidth = 1)

# y軸に目盛線を設定
ax.grid(which = "major", axis = "y", color = "green", alpha = 0.8,
        linestyle = "--", linewidth = 1)

Matplotlib 目盛線の描画
Axes.grid() の引数を掲載しておきます。

Axes.grid()の引数 説明
which 主目盛線と補助目盛線の選択
{‘major’ (主目盛線), ‘minor’ (補助目盛線), ‘both’ (両目盛)}
axis 目盛を設定する軸
{‘x’ (x軸), ‘y’ (y軸), ‘both’ (両軸)}
color 目盛線の色 {color}
alpha 目盛線の透明度 {float}
linewidth 目盛線の幅 {float}
linestyle 目盛線のスタイル {string}

コメント

  1. HNaito より:

    下記は誤植と思われますので、ご確認ください。

    「x軸の目盛ラベルの上書き」コードの上と下の説明文で、
    各要素がラベルとして → 各要素が目盛ラベルとして
    Axes.set_xlabels( ), Axes.set_ylabels( ) → Axes.set_xticklabels( ), Axes.set_yticklabels( )
    x 軸のラベルが上書き → x 軸の目盛ラベルが上書き
    ラベルを削除する → 目盛ラベルを削除する

    • あとりえこばと より:

      この記事は誤植が多すぎましたね …
      すべて直しておきました。
      ありがとうございます。m(_ _)m