python - 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 个)”。这是我遇到过的最可笑的编程错误之一!
解决方案
请参阅例如这个问题,了解为什么类似
TypeError: method() takes at least n arguments (n given)
并不像乍看起来那么荒谬。
在这里,您在make_image
没有任何位置参数的情况下调用。然而,签名是
make_image(renderer, magnification=1.0, unsampled=False)
所以你错过了这个renderer
论点。
在 python 3.6 中,错误更清楚一些。它会说类似
TypeError: make_image() missing 1 required positional argument: 'renderer'
这允许更容易地找出问题。
除了这个问题还不清楚期望的结果是什么,所以这就是人们在这一点上可以说的。
推荐阅读
- html - 如何只为圆底的 25% 着色?
- javascript - ENOENT:没有这样的文件或目录,scandir './events/client'
- javascript - 只有最后一名玩家在游戏中可见
- flutter - 在我获得 url 下载我的应用程序后,我的应用程序在使用插件 inappwebview 时出现问题。谁能帮助我?
- laravel - 我想用惯性 vue2 安装 Laravel Jetstream
- javascript - 找不到向我的活动添加验证的方法
- python - 已解决 - Python CGI 访问 mySQL:头文件前的脚本输出结束
- bash - VSCode shell 任务转义单引号
- java - 在 Java 中返回一长串常量
- google-apps-script - 无法使用 Google Apps 脚本获取