簡體   English   中英

如何從 matplotlib 中的字典中獲取 plot 特定數據?

[英]How to plot specific data from a dictionary in matplotlib?

我有一本包含 10 個這樣的元素的字典

teams={'Manchester United':50, 'Liverpool': 70, 'Barcelona': 100, 'Real Madrid':90, 'Arsenal':30, 'Atletico':50}

我也有另一本這樣的字典:

leagues={'England':['Manchester United', 'Liverpool', 'Arsenal'], 'Spain':['Barcelona', 'Real Madrid', 'Atletico']}

我只想 plot 英格蘭球隊的圖表('Manchester United','Liverpool','Arsenal')我該怎么做?

到目前為止,這是我在代碼中所寫的

import matplotlib.pyplot as plt

plt.bar(*zip(*teams.items()))
plt.show()

您應該首先提取相關信息,一種方法是:

keys_ = [k for k in teams.keys() if k in leagues['England']]
vals_ = [teams.get(k) for k in keys_]
plt.bar(keys_, vals_)
plt.show()

第一個列表理解將僅提取屬於“英格蘭”聯賽的keys_ 第二個將在teams字典中提取它們的對應值。

您還可以將其壓縮為單行,例如:

[(k, teams[k]) for k in teams.keys() if k in leagues['England']]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM