如何使用 matplotlib 保存图像文件。方法 savefig 不起作用

How can I save image file using matplotlib. the method savefig not working

我正在尝试使用 Matplotlib 保存图像文件,但它似乎不起作用。如果我运行,它应该保存文件。但是没有任何反应。 我只是在测试图像保存代码是否有效。所以代码实际上不是我的。它来自 python 教程博客。请帮帮我。

import numpy as np
import matplotlib.pyplot as plt
def make_plot():
    t = np.arange(0.0, 20.0, 1)
    s = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
    s2 = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]

    plt.subplot(2, 1, 1)
    plt.plot(t, s)
    plt.ylabel('Value')
    plt.title('First chart')
    plt.grid(True)

    plt.subplot(2, 1, 2)
    plt.plot(t, s2)
    plt.xlabel('Item (s)')
    plt.ylabel('Value')
    plt.title('Second chart')
    plt.grid(True)
    plt.savefig('datasets/images/good.png')

正如我之前在评论中所说,问题是您没有调用 make_plot() 来执行。我只是尝试了你的代码并且工作得很好,我必须创建 datasets/images 个文件夹。

import numpy as np
import matplotlib.pyplot as plt
def make_plot():
    t = np.arange(0.0, 20.0, 1)
    s = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
    s2 = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23]

    plt.subplot(2, 1, 1)
    plt.plot(t, s)
    plt.ylabel('Value')
    plt.title('First chart')
    plt.grid(True)

    plt.subplot(2, 1, 2)
    plt.plot(t, s2)
    plt.xlabel('Item (s)')
    plt.ylabel('Value')
    plt.title('Second chart')
    plt.grid(True)
    plt.savefig('datasets/images/good.png')

# Just calling the function
make_plot()