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

Apo*_*los 4 python matplotlib

在以下简单的 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()
...
Run Code Online (Sandbox Code Playgroud)

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

x = im.make_image(magnification=2.0)
Run Code Online (Sandbox Code Playgroud)

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

Apo*_*los 6

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

r = plt.gcf().canvas.get_renderer()
x = im.make_image(r, magnification=2.0)
Run Code Online (Sandbox Code Playgroud)

这有效。但与此同时,我在评论者的帮助下发现这个make_image功能没有任何实际用途,而且支持不多。图像放大必须通过其他方式获得,例如轴。

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