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

Python使用matplotlib绘制barplot报错ValueError无法转字符串为float怎么办

报错原因

核心是本地matplotlib版本低于2.2.0:plt.bar()方法在2.2.0版本才新增了字符串类型分类参数的支持,更早版本只能传入数值类型的x轴坐标,因此解析'A'这类字符串时会触发转float失败的报错。你参考的教程运行环境是高版本matplotlib,所以示例代码可以直接运行。

解决方案
  • 方案一:升级matplotlib版本(最简便)
    执行升级命令:pip install --upgrade matplotlib
    升级完成后原有代码无需修改即可正常运行。
  • 方案二:兼容旧版本的代码修改
    不升级依赖的情况下,先创建数值索引作为x轴坐标,再手动替换刻度标签,修改后代码如下:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
x=['A','B','C','D','E','F','G','H','I','J']
y=[47, 23, 27,  0, 82,  7, 46, 92, 36, 76]
# 生成与分类对应的数值x坐标
x_index = range(len(x))
plt.bar(x_index, y)
# 替换x轴刻度为分类标签
plt.xticks(x_index, x)
plt.xlabel('Categories')
plt.ylabel("Values")
plt.title('Categories Bar Plot')
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:42:02