【问题标题】:What is wrong with my attempt to save my image?我尝试保存图像有什么问题?
【发布时间】:2018-01-27 00:50:32
【问题描述】:

我正在努力学习 Python。我正在使用以下程序,它可以创建图像,但我想保存它。我尝试了在此站点上找到的一些说明,但在底部收到错误消息。任何帮助将不胜感激。

程序:

import sys
import random
import matplotlib as plt
from graphics import *

def main():
    m=1
    n=2
    offset=50
    win = GraphWin("MyWin",500, 500)
    win.setBackground(color_rgb(0,0,0))
    for i in range(1,1000,1):
        r= random.uniform(0,1)
        q= int(3*r)
        m = (m/2) + q*(q-1)*75
        n = (n/2) + q*(3-q)*75

        pt = Point(m + offset,n + offset)
        pt.setOutline(color_rgb(255,255,0))
        pt.draw(win)

    print("graphic done")
    plt.savefig("figure.png")
    win.getMouse()
    win.close()

if __name__ == '__main__':
    main()

错误信息:

图形完成
回溯(最近一次通话最后一次):
中的文件“fractal_1.py”,第 29 行 主()
文件“fractal_1.py”,第 24 行,在 main
plt.savefig("figure.png")
AttributeError:模块“matplotlib”没有属性“savefig”

【问题讨论】:

  • 你的plt 是什么?它必须是对 matplotlib.pyplot 的引用,您的代码才能正常工作。

标签: python matplotlib save graphic


【解决方案1】:

plt.savefig("figure.png") 的调用仅在您按以下方式导入时有效: import matplotlib.pyplot as plt.

我相信您的错误在于 plt 及其实际引用的内容。如果你这样导入:import matplotlib as plt 那么你需要像这样调用所需的函数:plt.pyplot.savefig("figure.png")

如果你这样导入:import matplotlib.pyplot as plt 然后你可以像这样调用所需的函数:plt.savefig("figure.png")

【讨论】:

  • 这些建议无效。我正在使用 Python 3.6.3。我安装了 matplotlib,它似乎安装正确(没有注意到错误)。 pyplot 是包含在 matplotlib 中还是单独安装? matplotlib 甚至是我需要的,因为我实际上并没有在传统意义上制作情节?我只是在照明像素(分形)并想保存图像。对不起,经验水平低,但感谢大家的帮助。
  • 检查是否安装正确的简单方法是打开终端并打开python程序。然后import matplotlib.pyplot as plt 并在 savefig() 函数上运行帮助命令 - help(plt.savefig)。请注意,使用帮助功能时,savefig 末尾没有括号。如果显示帮助,则说明安装正确。此功能还将帮助您回答您的问题,即它是否是正确使用的功能(我自己没有使用过 matplotlib)
【解决方案2】:

感谢您包含错误,但那是说matplotlib 没有savefig() 函数。

我认为是matplotlib.pyplot.savefig(),根据此链接:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.savefig.html

编辑你的代码说:plt.pyplot.savefig()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2021-12-03
    • 2019-03-17
    • 2015-08-03
    • 2020-12-26
    • 1970-01-01
    相关资源
    最近更新 更多