Group_1= {60: 2, 65: 2}
Group_2= {5: 2, 10: 2}
Group_3= {7: 2, 64: 2}
Group_4= {14: 2}
这些是 4 种不同的词典,我的目标是绘制一个堆积图,其上
我不想要图中的键,
Group_4
具有唯一的键和值作为数据。
我也附上了图片。
我收到一个错误:
ValueError: shape mismatch: objects cannot be broadcast to a single shape.
使用pandas的一个选项:
import pandas as pd
groups = {1: Group_1, 2: Group_2, 3: Group_3, 4: Group_4}
pd.DataFrame.from_dict(groups, orient='index').plot.bar(stacked=True)
输出:
变体:
(pd.DataFrame.from_dict({k: list(d.values())
for k, d in groups.items()},
orient='index')
.plot.bar(stacked=True, legend=False)
)
输出:
使用
matplotlib
条形图的一个选项。
import matplotlib.pyplot as plt
# Create a single structure to hold your groups. Could work with a list as well.
groups = {"1": G1.values(), "2": G2.values(), "3": G3.values(), "4": G4.values()}
for x, values in groups.items():
bottom = 0
for value in values:
plt.bar(x, value, bottom=bottom)
bottom += value