軸範囲と軸ラベル設定
Matplotlib では、特に何も指定しなければ自動的に軸範囲が設定されますが、自分で設定することもできます。また、各軸にラベルを添えることもできます。
軸範囲の設定
x 軸, y 軸の範囲は、それぞれ Axes.set_xlim() と Axes.set_ylim() によって設定できます。
# MATPLOTLIB_SET_LIM # In[1] # 必要なモジュールをインポート import numpy as np import matplotlib.pyplot as plt # Figureを設定 fig = plt.figure() # グラフ描画領域を追加 ax = fig.add_subplot(111) # Axesのタイトルを設定 ax.set_title("y = xlogx", fontsize=16) # 0.1~4.0まで0.01刻みのデータを作成 x = np.arange(0.1, 4.0, 0.01) # y=xlogx y = x * np.log(x) # 軸範囲の設定 ax.set_xlim(0, 2) ax.set_ylim(-1, 2) # データをプロット ax.plot(x, y, color = "r")
このコードでは x のデータは 0.1 ~ 4.0 まで 0.01 刻みで作成しますが、ax.set_xlim()メソッドで x 軸の範囲を 0 ~ 2 に設定してあるので、その範囲でグラフが表示されています。
subplots()関数の sharex、sharey オプションに True を渡すと、すべての Axes の x 軸、y 軸の軸範囲が揃えられます。
# In[2] # (x,y)データの作成 x1 = np.arange(0, 10, 0.1) y1 = np.cos(x1) x2 = np.arange(0, 20, 0.1) y2 = 2 * np.sin(x2) # Figureオブジェクトと2行1列のAxes配列を作成 fig, ax = plt.subplots(2, 1, sharex=True, sharey=True) ax[0].plot(x1, y1) ax[1].plot(x2, y2)
対数軸の設定
x 軸、y 軸を対数軸に設定する場合は、それぞれ Axes.set_xscale()、 Axes.set_yscale() の引数に “log” を渡します。片方の軸を対数軸に設定すると片対数、両軸を対数軸に設定すると両対数グラフとなります。
# MATPLOTLIB_SET_SCALE # In[1] import numpy as np import matplotlib.pyplot as plt # Figureを設定 fig = plt.figure() # Axesを追加 ax = fig.add_subplot(111) # Axesのタイトルを設定 ax.set_title("y = x**x", fontsize=16) # 0~4.0まで0.01刻みのデータを作成 x = np.arange(0, 4.0, 0.1) # y=x**x y = x ** x # x軸を対数軸に設定 ax.set_yscale("log") # データをプロット ax.plot(x, y, color="r")
軸ラベルの設定
Axes.set_xlabel()、Axes.set_ylabel() で x 軸、y 軸にラベルを添えることができます。第2引数以降でフォントのスタイルやサイズ、太さなどを設定できます。
# MATPLOTLIB_SET_LABEL # In[1] import numpy as np import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111) ax.set_title("y = arcsin(x)", fontsize = 16) # 軸ラベルの設定 ax.set_xlabel("x", size=14, weight="light") ax.set_ylabel("y", size=14, weight="light") # xのデータを作成 [-1~1], Δx = 0.1 x = np.arange(-1, 1, 0.01) # y=arcsin(x) y = np.arcsin(x) # データをプロット ax.plot(x, y, color="g")
コメント