You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何绘制Src_Mac_country列Top10国家出现占比的饼图?

绘制CSV数据中国家出现频率Top10的带占比饼图

需求说明

统计CSV数据中Src_Mac_country列各国家的出现频率,绘制带有占比的饼图,仅展示按出现次数降序排列的Top10国家。

完整实现代码

import pandas as pd
import matplotlib.pyplot as plt

# 读取CSV数据
df = pd.read_csv('Filepath')

# 获取Top10国家的出现次数(默认降序排列)
top10_counts = df['Src_Mac_country'].value_counts().head(10)

# 绘制饼图
plt.figure(figsize=(8, 8))
wedges, texts, autotexts = plt.pie(
    top10_counts.values,
    labels=top10_counts.index,
    autopct='%1.1f%%',  # 自动显示保留1位小数的占比
    startangle=90,
    counterclock=False  # 按降序顺时针排列扇区
)

# 优化图表显示
plt.title('Top10 Src_Mac_country 出现频率占比')
plt.legend(wedges, top10_counts.index, loc="upper right", bbox_to_anchor=(1.3, 0.9))
plt.tight_layout()

# 显示图表(如需保存可取消下方注释)
plt.show()
# plt.savefig('top10_country_pie.png', bbox_inches='tight')

关键代码解释

  • value_counts().head(10):直接提取出现次数最多的前10个国家,结果默认按降序排列
  • autopct='%1.1f%%':自动在饼图扇区上标注百分比数值,格式为1位小数
  • counterclock=False:让饼图从90度位置开始顺时针排布,符合常规阅读顺序
  • bbox_to_anchor:调整图例位置,避免遮挡饼图主体

内容的提问来源于stack exchange,提问作者Beast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 04:52:45