0

在以下示例代码中...

from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt

with PdfPages('multipage_pdf.pdf') as pdf:
    for i in range(10):
        fig = plt.figure()
        ax = fig.add_subplot(111)
        ax.scatter([0, 1, 2], [0, 1, 2])
        pdf.savefig()
        plt.close()

...每一个情节都会弹出一个带有实际画布的窗口。是否有一种优雅的解决方案可以跳过屏幕上画布的实际绘制并将绘图直接绘制到多页 pdf 中?

PS:问题仅在 spyder 中运行代码时引起,因此与 spyder 相关,与其他任何内容无关。直接使用 python 运行代码不会导致弹出窗口。

4

2 回答 2

0

我认为您正在寻找的是清除数字。 first_page = plt.figure(figsize=(11.69, 8.27)) first_page.clf() 查看文档: https ://matplotlib.org/3.1.1/api/_as_gen/matplotlib.pyplot.clf.html

一些例子: https ://www.programcreek.com/python/example/102298/matplotlib.pyplot.clf

于 2019-08-20T07:15:05.523 回答
0

这个问题不是由 matplotlib 或类似的东西引起的,而是只是从 Spyder 中运行代码导致了这个问题。直接使用python运行代码不会导致我之前遇到的问题。

于 2019-08-20T10:49:09.983 回答