首页 > 解决方案 > 如何固定 Y 轴?这是什么问题?

问题描述

我有这个代码:

b = np.array([['a',2,3],['b',1,3],['c',4,4],['d',5,6],['e',5,5],['f',6,6]])
a= pd.DataFrame(b)

plt.figure(figsize=(8,8))

plt.bar(a[0],a[1],color='r') 

它产生这个图:

在此处输入图像描述

如您所见,Y 轴有问题。代码有什么问题?

标签: pythonpandasmatplotlibbar-chart

解决方案


您的代码将数据框的所有元素a视为object,即除数字之外的任何元素。您可以在绘图时转换它们:

plt.bar(a[0], a[1].astype(int), color='r')

之所以如此,是因为 numpy 将每个元素都转换为字符串,因为它无法处理数组 IIRC 中的多种类型。如果您将您的创建替换为b

b = [['a',2,3],['b',1,3],['c',4,4],['d',5,6],['e',5,5],['f',6,6]]

然后你不需要转换,因为这是输出a.types

0    object
1     int64
2     int64
dtype: object

推荐阅读