条形与值不成比例-matplotlib条形图

时间:2018-07-16 05:29:12

标签: matplotlib

我是matplotlib的新手,正在尝试使用pyplot绘制条形图。我得到的条形图的高度以线性方式增加,而其值在y轴上显示为标签,而不是得到以条形图的高度表示该值的图。

payment_modes = ['Q', 'NO', 'A', 'C', 'P', 'E', 'D']
l1=[]
l2=[]
for i in payment_modes:
    l.append(str(len(df[df['PMODE_FEB18']==i])))
# here l = ['33906', '37997', '815', '4350', '893', '98', '6']
plt.figure()
plt.bar(range(7),l)

这就是我得到的:

1 个答案:

答案 0 :(得分:0)

问题是您似乎在给bar提供字符串,而不是数字。如果改用实际的数值,则bar的行为将与您期望的一样:

import matplotlib.pyplot as plt

l = [33906, 37997, 815, 4350, 893, 98, 6]

plt.figure()
plt.bar(range(7),l)
plt.show()

给予

enter image description here