Matplotlib-formatting-axes

提供:Dev Guides
移動先:案内検索

Matplotlib-軸のフォーマット

場合によっては、1つまたはいくつかのポイントが大量のデータよりもはるかに大きいことがあります。 このような場合、軸のスケールは通常のスケールではなく対数として設定する必要があります。 これは対数目盛です。 Matplotlibでは、Axesオブジェクトのxscaleまたはvscaleプロパティを「log」に設定することにより可能です。

また、軸番号と軸ラベルの間に追加の距離を表示する必要がある場合もあります。 いずれかの軸(xまたはyまたは両方)のlabelpadプロパティを目的の値に設定できます。

上記の機能は両方とも、次の例の助けを借りて示されています。 右側のサブプロットには対数スケールがあり、左側のサブプロットにはx軸のラベルがより遠くにあります。

import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,5)
axes[0].plot( x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("Normal scale")
axes[1].plot (x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_yscale("log")
axes[1].set_title("Logarithmic scale (y)")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
axes[0].xaxis.labelpad = 10
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
plt.show()

軸のフォーマット

軸スパインは、プロットエリアの境界を区切る軸の目盛りを結ぶ線です。 Axesオブジェクトには、上下左右にスパインがあります。

各スパインは、色と幅を指定することでフォーマットできます。 色がなしに設定されている場合、どのエッジも非表示にできます。

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.spines['bottom'].set_color('blue')
ax.spines['left'].set_color('red')
ax.spines['left'].set_linewidth(2)
ax.spines['right'].set_color(None)
ax.spines['top'].set_color(None)
ax.plot([1,2,3,4,5])
plt.show()

軸スパイン