我期待例如 F
酒吧有8+9=17
不仅是9
(F
的最后一个值)。
import matplotlib.pyplot as plt
x = ['A', 'B', 'C', 'D', 'D', 'D', 'D', 'E', 'F', 'F']
y = [ 5 , 8 , 7, 9, 9, 2, 7, 8, 8, 9 ]
fig, ax = plt.subplots()
ax.bar(x, y)
plt.show();
有人可以解释一下逻辑吗?
最佳答案
不,这是正常的,条形是叠加的。例如,请参阅更改不透明度:
ax.bar(x, y, alpha=0.1)
您可以使用pandas对值进行分组:
pd.Series(y).groupby(x).sum().plot.bar()
输出:
或者在纯Python中:
out = {}
for X, Y in zip(x, y):
out[X] = out.get(X, 0) + Y
fig, ax = plt.subplots()
ax.bar(*zip(*out.items()))
关于python - 不是应该对每个条形图的值求和吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77197748/