Python:可视化dicts字典的最佳方式

时间:2018-05-30 22:35:18

标签: pandas dataframe matplotlib data-visualization seaborn

我想想象下面的dicts字典

players_info = {'Afghanistan': {'Asghar Stanikzai': 809.0,
  'Mohammad Nabi': 851.0,
  'Mohammad Shahzad': 1713.0,
  'Najibullah Zadran': 643.0,
  'Samiullah Shenwari': 774.0},
 'Australia': {'AJ Finch': 1082.0,
  'CL White': 988.0,
  'DA Warner': 1691.0,
  'GJ Maxwell': 822.0,
  'SR Watson': 1465.0},
 'England': {'AD Hales': 1340.0,
  'EJG Morgan': 1577.0,
  'JC Buttler': 985.0,
  'KP Pietersen': 1176.0,
  'LJ Wright': 759.0}}

目前我使用以下方式,但是使用大字典时,它会造成我不想要的混乱。

import pandas as pd
import matplotlib.pyplot as plt

pd.DataFrame(players_info).plot.bar()
plt.show()

请建议一种更好的可视化方法。感谢

2 个答案:

答案 0 :(得分:1)

首先需要一个更好的数据帧结构。

df = pd.DataFrame([(i,j,players_info[i][j]) for i in players_info.keys() for j in players_info[i].keys()], columns=["country", "player", "score"])

然后,您可以使用如下的绘图:

fig = plt.figure(figsize=(15,5))
ax = sns.barplot(x="player", y="score", hue="country" ,data=df)
plt.xticks(rotation=45)
plt.show()

输出:

enter image description here

答案 1 :(得分:1)

我建议使用heatmap

 [AllowAnonymous]       
 [HttpPost]
 //[ValidateAntiForgeryToken]
 public void Register([FromBody]User body)
 {

 }

输出: enter image description here