目次
matplotlib
前回、matplotlibでリアルタイムに変化するグラフを表示する方法を紹介しました。
【matplotlib】リアルタイムに変化するグラフを表示する方法[Python]
matplotlib 前回、PythonのPandasで特定の値を書き換える方法を紹介しました。 今回はmatplotlibを使ってリアルタイムに変化するグラフを表示する方法を紹介します。 ち…
今回は前回出てきた「plt.cla()」について、他の「plt.clf()」や「plt.close()」との違いを見てみましょう。
ということでまずは適当にグラフを用意しました。
import matplotlib.pyplot as plt
import random
x = range(10)
y = [random.randint(0,50) for _ in x]
fig = plt.figure()
plt.plot(x, y)
plt.show()
実行結果
それでは始めていきましょう。
plt.clf()
まずは一番使うだろう「plt.clf()」を見てみましょう。
import matplotlib.pyplot as plt
import random
x = range(10)
y = [random.randint(0,50) for _ in x]
fig = plt.figure()
plt.plot(x, y)
plt.clf()
plt.show()
実行結果
<Figure size 640x480 with 0 Axes>
「plt.clf()」では一応グラフエリアは確保されているようですが、「0 Axes」となっており、グラフ自体は全て消去されています。
ということで「fig = plt.figure()」でグラフエリアの確保だけされた状態と同じ状態になっています。
import matplotlib.pyplot as plt
import random
x = range(10)
y = [random.randint(0,50) for _ in x]
fig = plt.figure()
plt.show()
実行結果
<Figure size 640x480 with 0 Axes>
plt.cla()
次に「plt.cla()」を見てみましょう。
import matplotlib.pyplot as plt
import random
x = range(10)
y = [random.randint(0,50) for _ in x]
fig = plt.figure()
plt.plot(x, y)
plt.cla()
plt.show()
実行結果
「plt.cla()」ではグラフの軸は残り、中のデータは消去されました。
plt.close()
最後に「plt.close()」を見てみましょう。
import matplotlib.pyplot as plt
import random
x = range(10)
y = [random.randint(0,50) for _ in x]
fig = plt.figure()
plt.plot(x, y)
plt.close()
plt.show()
実行結果
実行しても何も起こりません。
つまりグラフエリアも含めて、全て消去された状態です。
ということで「plt.clf()」、「plt.cla()」、「plt.close()」をまとめてみるとこんな感じです。
plt.close() | plt.clf() | plt.cla() | |
データ | 消去 | 消去 | 消去 |
グラフエリア | 消去 | 残る | 残る |
軸 | 消去 | 消去 | 残る |
もうグラフを使わない場合は「plt.close()」、グラフエリアは使うけど全て書き直す場合は「plt.clf()」、軸を使い回す場合は「plt.cla()」という使い分けで良さそうです。
次回はmatplotlibでアニメーションを作る際にffmpegを選択できるように設定してみましょう。
【matplotlib】ffmpegを使ってアニメーショングラフを作成する方法[Python]
matplotlib 前回、matplotlibでplt.clf()とplt.cla()、plt.close()の違いを紹介しました。 今回はmatplotlibでffmpegを使ってアニメーショングラフを作成する方法を紹介…
ではでは今回はこんな感じで。
コメント