,可以通过以下步骤实现:
import pandas as pd
import matplotlib.pyplot as plt
data
的DataFrame,其中包含三列:group
、category
和value
。group
列表示分组,category
列表示类别,value
列表示对应的值。data = pd.DataFrame({'group': ['A', 'A', 'B', 'B', 'C', 'C'],
'category': ['X', 'Y', 'X', 'Y', 'X', 'Y'],
'value': [10, 15, 8, 12, 6, 9]})
groupby
方法按group
列进行分组,并计算每个组内每个类别的值的总和:grouped_data = data.groupby('group')['value'].sum()
fig, ax = plt.subplots(figsize=(8, 6))
bar_width = 0.2
index = range(len(grouped_data))
ax.bar(index, grouped_data['A'], bar_width, label='Group A')
ax.bar([i + bar_width for i in index], grouped_data['B'], bar_width, label='Group B')
ax.bar([i + 2 * bar_width for i in index], grouped_data['C'], bar_width, label='Group C')
ax.set_xlabel('Category')
ax.set_ylabel('Value')
ax.set_title('Triple Bar Chart by Group')
ax.set_xticks([i + bar_width for i in index])
ax.set_xticklabels(grouped_data.index)
ax.legend()
plt.show()
这样就可以使用pandas绘制按另一列分组的单个列的三重条形图了。
关于pandas、matplotlib和条形图的更多信息,可以参考腾讯云的相关产品和文档:
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云