我正在运行一个脚本,该脚本使用以下命令为单个图形中的一组轴创建图形和轴手柄:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(num=1, clear=True, clf=True)
使用自动图形(即图形显示在其自己的窗口中),并且存在两个问题:
运行时,该数字实际上并不清楚-每次运行时,轴框架和刻度标签只会变暗。如果我将代码更改为:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(num=1, clear=True, clf=True)
fig.tight_layout()
在这种情况下,每次我运行代码时,轴都占据图形窗口右上角的一小部分。
如果我删除图形并重新运行代码,则会收到错误消息:
__init__() got an unexpected keyword argument 'clear'
或
__init__() got an unexpected keyword argument 'clf'
如果我跑步,一切正常:
import matplotlib.pyplot as plt
fig, ax = plt.subplots(num=1)
fig.clf()
fig, ax = plt.subplots(num=1, clear=True, clf=True)
fig.tight_layout()
但是这似乎在某种程度上是重复的……我敢说……非pythonic?
出于完整性考虑:在64位Windows计算机上使用Anaconda Spyder for Python 3.6;明天将尝试其他版本和操作系统。
编辑:问题似乎与matplotlib 2.2.3有关,因为与matplotlib 3.0.2无关。
答案 0 :(得分:0)
摘自文档https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplot.html
Figure.add_subplot的包装器,在行为上有所说明 在“注释”部分。
在源代码中,clear
和clf
是Figure
的方法,因此在第一次调用subplots()
时,Figure
对象不是存在,它不能调用clear
或clf
。但是,第二个调用及其后的对象存在。