gpt4 book ai didi

python - 如何在matplotlib中分离堆积的条形图?

转载 作者:行者123 更新时间:2023-12-01 02:20:46 27 4
gpt4 key购买 nike

我有两个字典,其值是人数...

d_1={1947: 1, 1950: 1, 1951: 2, 1955: 2, 1956: 1, 1957: 2, 1958: 2, 1959: 3, 1960: 1....}

d_2={1936: 1, 1945: 1, 1948: 2, 1949: 1, 1950: 2, 1951: 2, 1952: 3, 1953: 1, 1954: 41..}

我想创建显示人数的条形图。 X 轴形成于 年份。

当我使用此代码格式时,除了堆叠条之外几乎相同。我希望将它们分开。我该如何解决这个问题?

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.pyplot as plt; plt.rcdefaults()

x1=[t for t in d_1.keys()]
y1=[k for k in d_1.values()]
x2=[m for m in d_2.keys()]
y2=[n for n in d_2.values()]


fig, ax = plt.subplots()

index = np.arange(len(years_without_duplicates))
#list which has the years without duplicates

bar_width = 0.35

rects1 = plt.bar(x1, y1, bar_width,color='b')
rects2 = plt.bar(x2, y2, bar_width, color='r')

plt.xlabel('Years')
plt.ylabel('number of people')
plt.xticks([i for i in range(min(years_without_duplicates),max(years_without_duplicates)+1)],rotation=80,fontsize=6)

plt.legend()



plt.tight_layout()

plt.show()

my bars are stacked but i want them to be seperated.

最佳答案

只需移动栏即可:

bar_width = 0.35
x1 = [t - bar_width / 2 for t in d_1.keys()]
y1 = [k for k in d_1.values()]
x2 = [m + bar_width / 2 for m in d_2.keys()]
y2 = [n for n in d_2.values()]

enter image description here

关于python - 如何在matplotlib中分离堆积的条形图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47964551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com