• 智能AI问答!更聪明、更完整、原创作!
  • 一款基于GPT的超级AI机器人,可以回答问题、聊天、创作、写文案!

可视化的图形没有标注柱状代表的是那一类,怎么把他显示出来?

发布于 2024-12-19 23:31:44

要在可视化的柱状图上添加每个柱子的标签,以显示它们代表的职位类别,可以使用 matplotlibtext 方法在每个柱子上方添加文本标签。以下是更新后的示例代码:

更新后的示例代码

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

# 读取各职位类别的 CSV 文件
xinmeiti_df = pd.read_csv('xinmeiti_yunying.csv')
kefu_df = pd.read_csv('kefu.csv')
dianshang_df = pd.read_csv('dianshang_yunying.csv')

# 为每个数据框添加职位类别列
xinmeiti_df['职位类别'] = '新媒体运营'
kefu_df['职位类别'] = '客服'
dianshang_df['职位类别'] = '电商运营'

# 合并所有数据框
all_data = pd.concat([xinmeiti_df, kefu_df, dianshang_df], ignore_index=True)

# 统计各职位类别的数量
category_counts = all_data['职位类别'].value_counts()

# 可视化
plt.figure(figsize=(10, 6))
bar_plot = sns.barplot(x=category_counts.index, y=category_counts.values, palette='viridis')
plt.title('重庆地区各职位类别数量分布')
plt.xlabel('职位类别')
plt.ylabel('数量')
plt.xticks(rotation=45)

# 在每个柱子上添加标签
for p in bar_plot.patches:
    bar_plot.annotate(f'{int(p.get_height())}', 
                      (p.get_x() + p.get_width() / 2., p.get_height()), 
                      ha='center', va='bottom', 
                      fontsize=10, color='black', 
                      xytext=(0, 5),  # 向上偏移5个单位
                      textcoords='offset points')

plt.tight_layout()

# 显示图形
plt.show()

代码说明

  1. 添加标签:在可视化部分,使用 for 循环遍历每个柱子(bar_plot.patches),并使用 annotate 方法在每个柱子上方添加文本标签。
    • f'{int(p.get_height())}':获取柱子的高度并转换为整数,以显示数量。
    • (p.get_x() + p.get_width() / 2., p.get_height()):确定文本标签的位置,位于柱子的顶部中心。
    • ha='center'va='bottom':设置文本的水平和垂直对齐方式。
    • xytext=(0, 5):将文本向上偏移5个单位,以避免与柱子重叠。

结果

运行更新后的代码后,柱状图上将显示每个职位类别的数量,便于更直观地理解数据分布。

0 条评论

发布
问题

在线
客服