[Matplotlib] 目盛と目盛ラベル、目盛線の設定

[Matplotlib] 目盛と目盛ラベル、目盛線の設定

目盛と目盛ラベルの設定

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

# 指数関数のグラフ

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

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

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

# xのデータを作成 [-4, 4], Δx = 0.1
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_xlabels(), Axes.set_ylabels()メソッドを使って目盛ラベルを上書きすることができます。たとえば上のサンプルコードに

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

というコードを追加すると、x 軸のラベルが上書きされて下図のようになります。

 Python 目盛ラベル上書き

 また、引数に空白のリストを渡すとラベルを削除することができます。
 

ビジネスPython超入門

新品価格
¥2,592から
(2019/8/21 23:35時点)

目盛線の設定

 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}

 [参考文献] PythonユーザのためのJupyter[実践]入門