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

Python:嵌套字典可视化的优化方案咨询(附示例)

嘿,我懂你现在的烦恼——当数据量变大时,默认的pandas柱状图确实会变得杂乱不堪,选手名字挤在一起、国家之间的对比也不清晰。这里有几个更优的可视化方案,能让你的数据展示得更直观:

方案1:分面(Facet)柱状图

这种方式会把每个国家的选手数据单独放在一个子图里,完全避免了不同国家数据的拥挤重叠,每个国家内部的选手得分对比也一目了然。适合需要聚焦单个国家选手表现,同时也能整体浏览所有国家情况的场景。

代码示例:

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

# 把嵌套字典转换为长格式DataFrame,方便seaborn处理
df = pd.DataFrame(players_info).stack().reset_index()
df.columns = ['Player', 'Country', 'Score']

# 创建分面柱状图
g = sns.catplot(
    data=df,
    x='Player',
    y='Score',
    col='Country',
    kind='bar',
    col_wrap=2,  # 每行显示2个国家的子图
    height=4,
    aspect=1.2
)

# 旋转x轴标签,避免重叠
g.set_xticklabels(rotation=45, ha='right')

# 添加标题和调整布局
plt.suptitle('T20 Runs by Players per Country', y=1.02)
plt.tight_layout()
plt.show()
方案2:横向分组条形图

如果选手名字比较长,横向条形图(barh)能避免x轴标签的重叠问题,同时可以按国家对选手进行分组,让不同国家的同位置选手得分对比更直观。

代码示例:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(players_info)

# 绘制横向分组条形图
ax = df.plot(kind='barh', figsize=(10, 8), width=0.8)

# 添加标签和标题
ax.set_xlabel('Total Runs')
ax.set_ylabel('Players')
ax.set_title('T20 Runs Comparison Across Countries')

# 添加数据标签,方便读取具体数值
for container in ax.containers:
    ax.bar_label(container, fmt='%.1f')

plt.tight_layout()
plt.show()
方案3:堆叠柱状图(按国家汇总+选手细分)

如果你既想看到每个国家的总得分,又想知道单个选手对国家得分的贡献,堆叠柱状图是个不错的选择。它把每个国家的选手得分堆叠在一起,既能对比国家总得分,也能看到内部选手的占比。

代码示例:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame(players_info)

# 绘制堆叠柱状图(转置后国家作为x轴)
ax = df.T.plot(kind='bar', stacked=True, figsize=(10, 6))

# 旋转x轴标签
ax.set_xticklabels(ax.get_xticklabels(), rotation=0)

# 添加标题和标签
ax.set_title('Total T20 Runs per Country (Stacked by Players)')
ax.set_xlabel('Country')
ax.set_ylabel('Total Runs')

# 添加图例,放在合适位置
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
plt.tight_layout()
plt.show()

这些方案各有侧重,你可以根据自己的需求选择:

  • 想单独看每个国家的选手表现选分面柱状图
  • 选手名字长、想对比同一选手在不同国家的得分选横向分组条形图
  • 想同时看国家总分和选手贡献选堆叠柱状图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:25:02