matplotlib绘制柱状图首根柱不显示的原因及修复方法
问题原因
- matplotlib的
plt.bar()方法要求传入的柱子高度参数为数值类型(整型或浮点型),你的代码中构造values列表时,用f-string把所有气温值都转为了字符串类型,matplotlib会将这些字符串识别为分类标签而非数值高度,高度映射逻辑完全异常,最终导致第一根柱子无法正常显示。
修复方法
只需修改values列表的构造逻辑,直接传入原始数值即可,无需格式化为字符串:
# 将原代码中这一行 # values = [f'{c_values1}', f'{c_values2}', f'{c_values3}'] # 替换为下面的代码 values = [c_values1, c_values2, c_values3]
如果想要确保数值类型正确,也可以显式转换为浮点型:
values = [float(c_values1), float(c_values2), float(c_values3)]
修改完成后重新运行代码,三根柱子就都可以正常显示了。
内容的提问来源于stack exchange,提问作者Batuhan Erenler
相关产品推荐
相关产品推荐

