Matplotlib:make_image()莫名其妙的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib:make_image()莫名其妙的错误相关的知识,希望对你有一定的参考价值。

在以下简单的matplotlib代码中:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,5,0.1)
y = np.sin(1.33*x)
x1, y1 = np.meshgrid(x, y)
data = np.sin(x1) + y1**4
im = plt.imshow(data)
x = im.make_image()
...

我在最后一个语句中得到以下莫名其妙的错误:“TypeError:make_image()至少需要2个参数(给定1个)”如果我使用参数,我会得到一个更加荒谬的错误,例如:

x = im.make_image(magnification=2.0)

“TypeError:make_image()至少需要2个参数(给定2个)”。这是我遇到的最荒谬的编程错误之一!

答案

参见例如this question为什么喜欢

TypeError: method() takes at least n arguments (n given)

并不像第一眼看上去那么荒谬。

在这里你没有任何位置参数调用make_image。然而,signature

make_image(renderer, magnification=1.0, unsampled=False)

所以你错过了renderer的论点。

在python 3.6中,错误更加清晰。它会说类似的东西

TypeError: make_image() missing 1 required positional argument: 'renderer'

这样可以更容易地找出问题所在。

除了问题仍然不清楚所期望的结果是什么,所以这就是人们在这一点上可以说的。

另一答案

我找到了缺少的成分:它是一个渲染器。例如。

r = plt.gcf().canvas.get_renderer()
x = im.make_image(r, magnification=2.0)

这有效。然而,与此同时,我在评论员的帮助下发现,这个make_image函数没有任何实际用途,并且没有太多支持。必须通过其他方式获得图像处理,例如轴。

所以我认为问题已经解决了。谢谢。

以上是关于Matplotlib:make_image()莫名其妙的错误的主要内容,如果未能解决你的问题,请参考以下文章

打开google首页会莫名其妙地播放音乐

MUDBOX安装问题,安装过一遍,但莫名奇妙的删除了。在安装就安装不上。

使用 Python3 创建带有 SVG 边框模板的二维码

clion莫名其妙的报错,请各位大神帮忙看下是啥原因

cpu内存莫名占满?

莫名出现隐藏文件夹