Python绘制混淆矩阵调用plt.show时出现ValueError如何解决?
报错原因
plt.show() 函数设计上不需要传入任何绘图对象参数,你将混淆矩阵数组cm作为参数传入plt.show(cm)时,该参数会被默认赋值给后端show方法的close布尔参数。当后端执行if close的布尔判断时,传入的多元素numpy数组无法直接转换为单个布尔值,因此触发了当前的歧义错误。你贴出的代码里这行已经加了注释,但从报错栈信息看,你实际运行的代码版本中这行是未注释状态。
解决方法
- 直接删除或注释掉
plt.show(cm)这行代码即可,你后续已经写了正确的无参plt.show()调用,用于输出混淆矩阵热力图,不需要额外给plt.show()传参。 - 如果你需要查看混淆矩阵的数值内容,你已写的
print(cm)已经可以满足需求,不需要通过plt.show()输出数组。
内容的提问来源于stack exchange,提问作者user16813851
相关产品推荐
相关产品推荐

