You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

鸢尾花数据集绘图时plt.figure行报'tuple' object is not callable错误

报错原因

你的报错和鸢尾花数据集加载逻辑完全无关,问题出在Matplotlib运行环境:

  • 你在当前代码运行前的操作中,意外将plt.figure这个内置函数覆盖成了元组类型(比如之前写过plt.figure = (11,4)这类赋值语句),当你尝试调用plt.figure()时,Python会尝试执行元组的调用操作,因此触发'tuple' object is not callable报错。
  • 注意如果没有事先导入matplotlib.pyplot as plt会触发NameError而非你遇到的类型报错,因此可以排除导入遗漏的问题。
修复方案
  • 方案1:直接重启当前Python运行环境(Jupyter内核、IDE运行终端均可),重置所有变量定义后重新运行代码即可恢复
  • 方案2:不想重启环境的话,可以在当前代码的导入部分增加重载逻辑:
import matplotlib.pyplot as plt
import importlib
importlib.reload(plt)
完整可运行参考代码
from sklearn import datasets
import matplotlib.pyplot as plt

iris = datasets.load_iris(return_X_y=False)
X = iris["data"][:,(2,3)] # 仅使用花瓣长度、花瓣宽度两个特征
y = iris["target"]

plt.figure(figsize=(11,4))
# 绘制训练样本
plt.plot(X[:, 0][y==1], X[:, 1][y==1], "bs") # 变色鸢尾
plt.plot(X[:, 0][y == 2], X[:, 1][y==2], "yo") # 维吉尼亚鸢尾
plt.xlabel("花瓣长度")
plt.ylabel("花瓣宽度")
plt.show()

内容的提问来源于stack exchange,提问作者toasted_avocado

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:06:11