[Matplotlib] Figure と Axes の書式設定

[Matplotlib] Figure と Axes の書式設定

Figureオブジェクトの書式設定

 Figureオブジェクトを作るときに、大きさや塗り潰しの色、枠線の有無などを指定できます。また、Figure に Axes を追加したあとで、subplots_adjust() メソッドを使って隣り合う Axes 同士の余白を調整できます。以下のサンプルコードを参考にカスタマイズしてみてください。

#https://python.atelierkobato.com/figure/

# matplotlib.pyplotをインポート
import matplotlib.pyplot as plt

# Figureオブジェクトの作成と書式設定
fig = plt.figure(
    
    # サイズ
    figsize = (5, 5),
    
    # 塗り潰しの色
    facecolor = "lightgray",
    
    # 枠線の表示
    frameon = True,
    
    # 枠線の色
    edgecolor = "black",
    
    # 枠線の太さ
    linewidth = 4)

# FigureにAxes(サブプロット)を追加
ax1 = fig.add_subplot(221)
ax2 = fig.add_subplot(222)
ax3 = fig.add_subplot(223)
ax4 = fig.add_subplot(224)

# Axesオブジェクト(サブプロット)間の余白調整
# wspaceは行方向、hspaceは列方向を調整
fig.subplots_adjust(wspace = 0.4, hspace = 0.4)

 Figureオブジェクト書式設定 Axes間の余白①

 最後の行で subplots_adjust() メソッドを使って、隣り合う Axes 間の余白を調整していますが、このコードがないと下の図のように目盛などが詰まって見づらくなってしまいます。

 Figureオブジェクト書式設定 Axes間の余白②
 

Axes (サブプロット) の書式設定

 Figureオブジェクトに Axesオブジェクト (サブプロット) を追加するときに、塗り潰しの色や軸の範囲などを設定することができます。これらは Axes 作成後にメソッドで設定することもできます。以下のサンプルコードに Axes の書式設定の例を載せておきます。

# https://python.atelierkobato.com/figure/

# 指数関数のグラフ

# matplotlib.pyplotをインポート
import matplotlib.pyplot as plt

# numpyをインポート
import numpy as np

# Figureオブジェクトの書式設定
fig = plt.figure(figsize = (5, 5))

# FigureにAxes(サブプロット)を追加
ax = fig.add_subplot(
    
    #行数と列数、Axes番号
    111,
    
    # 塗り潰しの色
    facecolor = "lightgreen",
    
    # x軸とy軸の範囲
    xlim = [-4,4], ylim = [0,40])

# -4~4, 0.2刻みのデータを用意
x = np.arange(-4, 4, 0.2)

# yのデータを用意
y = np.exp(x)

# Axesに(x,y)データをプロット
ax.plot(x, y)

 Axesオブジェクト書式設定
  ≫ Matplotlibで2次関数のグラフを描きます