LoginSignup
1
3

More than 5 years have passed since last update.

Matplotlib > plt.clf() [Clear the current figure] の理由 | plt.get_fignums()

Last updated at Posted at 2017-08-03
動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.1.0
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)

現在読んでいるPython/Numpy/Scipy/Pandas/Matplotlib/Numba/Numexpr/...に関する本の中で、以下のような記述がある。

...
plt.figure(略)
plt.clf()
plt.axes(略)
...

plt.clf()といのはClear the current figure.という意味のようだ。
https://matplotlib.org/devdocs/api/_as_gen/matplotlib.pyplot.clf.html

Matplotlibでセル単位で描画コードを走らす場合、「前の図」というのが残っているわけではないように思う。
そのため、plt.clf()は不要なのではないかと思っている。

あるいは、plt.figure(略)の描画が残すものをクリアするという意味なのかもしれない。

実際の動きについては未確認。

コード例

Fancybox Demo
においては以下のようにtest_all()の最初でplt.clf()を行っている。

def test_all():
    plt.clf()

link

When to use cla(), clf() or close() for clearing a plot in matplotlib?

Whereas this one will produce a list with five figures on it.

for i in range(5):
    fig = plot_figure()
    fig.clf()
# This returns a list with all figure numbers available
print(plt.get_fignums())

先に5つのfigureを作り、(それをクリアしてから)後で再利用する、という意味なのかもしれない。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3