Python 数据可视化:使用 Groupby 绘制美观的柱状图并添加数据标签
你可以使用 Matplotlib 库来绘制柱状图,并使用 Seaborn 库进行美化。下面是一个例子,演示了如何使用 groupby 分类后的数据绘制柱状图,并添加数据标签和美化图表。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 创建示例数据
data = {'Category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'],
'Value': [1, 2, 3, 4, 5, 6, 7, 8]}
df = pd.DataFrame(data)
# 按 Category 分组并计算每组的平均值
grouped_data = df.groupby('Category')['Value'].mean().reset_index()
# 绘制柱状图
sns.set(style='whitegrid') # 设置样式为白底网格
plt.figure(figsize=(8, 6)) # 设置图表大小
sns.barplot(x='Category', y='Value', data=grouped_data, palette='muted') # 绘制柱状图
# 添加数据标签
for index, row in grouped_data.iterrows():
plt.text(row.name, row.Value, round(row.Value, 2), color='black', ha='center') # 添加数据标签
# 美化图表
plt.title('Average Value by Category') # 添加标题
plt.xlabel('Category') # 添加 x 轴标签
plt.ylabel('Average Value') # 添加 y 轴标签
plt.xticks(rotation=45) # 旋转 x 轴标签
sns.despine() # 去除上方和右方的边框
# 显示图表
plt.show()
这段代码首先创建了一个示例数据,其中包含了'Category' 和 'Value' 两列。然后使用 groupby 函数按 'Category' 列进行分组,并计算每组的平均值。最后使用 Seaborn 的 barplot 函数绘制柱状图,并使用 matplotlib 的 text 函数添加数据标签。调用其他函数来美化图表,如设置样式、设置图表大小、添加标题和标签等。最后调用 show 函数显示图表。
原文地址: https://www.cveoy.top/t/topic/nlFh 著作权归作者所有。请勿转载和采集!