2022/05/29

python グラフの書き方

何故サイトでpythonのグラフの書き方が違うのか


plt? figure? axes?
サイトで違うことが書いてあって困惑してる人多いと思います.


matplotlibには
  • オブジェクト志向
  • インタフェース志向
2種類のプロットの仕方があります.この辺が混乱を招いているような気がするのでここで整理しておきます.


オブジェクト志向でプロット


個人的にはインタフェース志向よりオブジェクト志向がオススメです.


オブジェクト志向で簡単なグラフを描いてみます
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0, 10, 0.01)
y_1 = [math.cos(i) for i in x]
y_2 = [i**2 for i in x]

fig, ax = plt.subplots(1, 2)
fig.suptitle('figure')
ax[0].plot(x, y_1)
ax[0].set_title('axes[0]')
ax[1].plot(x, y_2)
ax[1].set_title('axes[1]')
plt.show()

グラフがこちら

matplolibでの構造

まず,figureと呼ばれるグラフを描写するための枠組みがあります.
figure

その中にaxesと呼ばれるグラフオブジェクトが入っています.
axes

因みに,axesの下に軸に関するデータをまとめるaxisというオブジェクトが入っています.

インタフェース志向でプロット

今度はインタフェース志向で簡単なグラフを描いてみます.
import matplotlib.pyplot as plt
import matplotlib.pyplot as plt
import numpy as np
import math
x = np.arange(0, 10, 0.01)
y = [math.cos(i) for i in x]

plt.plot(x, y)
plt.show()

グラフがこちら

pltから直接グラフを描く方法です.明示的に書かなくてもオブジェクトを自動的に生成してくれます.



0 件のコメント:

コメントを投稿