Matplotlib柱状图不显示问题求助
解决Matplotlib柱状图不显示的问题
嘿,我一眼就瞅出问题啦!你的柱状图没法正常显示,根源是y轴的数据类型不对——你往y列表里加的是字符串"4",但matplotlib绘制柱状图时,需要的是数值类型(比如整数或浮点数),字符串类型的数据它没法正确解析成可以绘图的数值,自然就看不到柱子啦。
另外,你尝试设置width=20其实没必要,因为x轴是分类文本,默认的宽度已经足够,反而过大的宽度会导致显示异常。
给你修改后的代码,只需要把y.append("4")改成y.append(4)(去掉引号,存成整数)就行:
import matplotlib.pyplot as plt x = [] y = [] x.append("hello") y.append(4) # 这里把字符串改成整数 plt.bar(x, y) plt.title('Top Word\n') plt.xlabel('Word') plt.ylabel('Count') plt.show()
如果之后你有多个分类数据,还可以顺便调整一下图表的布局,避免标签重叠:
- 可以用
plt.tight_layout()在plt.show()之前调用,自动调整图表元素的位置 - 或者给x轴标签设置旋转,比如
plt.xticks(rotation=45)
这样修改后,你的柱状图就能正常显示啦!
内容的提问来源于stack exchange,提问作者Spizzle




