首页 > 解决方案 > 如何使用matplot lib将变量转换为百分比图

问题描述

我有下面的字典列表

[{'id': 0, 'Title': 'The Land Girls', 'US Gross': 146083, 'Worldwide Gross': 146083, 'US DVD Sales': 'null', 'Production Budget': 8000000, 'Release Date': 'Jun 12 1998', 'MPAA Rating': 'R', 'Running Time min': 'null', 'Distributor': 'Gramercy', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 'null', 'IMDB Rating': 6.1, 'IMDB Votes': 1071},
 {'id': 1, 'Title': 'First Love, Last Rites', 'US Gross': 10876, 'Worldwide Gross': 10876, 'US DVD Sales': 'null', 'Production Budget': 300000, 'Release Date': 'Aug 07 1998', 'MPAA Rating': 'R', 'Running Time min': 'null', 'Distributor': 'Strand', 'Source': 'null', 'Major Genre': 'Drama', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 'null', 'IMDB Rating': 6.9, 'IMDB Votes': 207},
 {'id': 2, 'Title': 'I Married a Strange Person', 'US Gross': 203134, 'Worldwide Gross': 203134, 'US DVD Sales': 'null', 'Production Budget': 250000, 'Release Date': 'Aug 28 1998', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'Lionsgate', 'Source': 'null', 'Major Genre': 'Comedy', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 'null', 'IMDB Rating': 6.8, 'IMDB Votes': 865},
 {'id': 3, 'Title': "Let's Talk About Sex", 'US Gross': 373615, 'Worldwide Gross': 373615, 'US DVD Sales': 'null', 'Production Budget': 300000, 'Release Date': 'Sep 11 1998', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'Fine Line', 'Source': 'null', 'Major Genre': 'Comedy', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 13, 'IMDB Rating': 'null', 'IMDB Votes': 'null'},
 {'id': 4, 'Title': 'Slam', 'US Gross': 1009819, 'Worldwide Gross': 1087521, 'US DVD Sales': 'null', 'Production Budget': 1000000, 'Release Date': 'Oct 09 1998', 'MPAA Rating': 'R', 'Running Time min': 'null', 'Distributor': 'Trimark', 'Source': 'Original Screenplay', 'Major Genre': 'Drama', 'Creative Type': 'Contemporary Fiction', 'Director': 'null', 'Rotten Tomatoes Rating': 62, 'IMDB Rating': 3.4, 'IMDB Votes': 165},
 {'id': 5, 'Title': 'Mississippi Mermaid', 'US Gross': 24551, 'Worldwide Gross': 2624551, 'US DVD Sales': 'null', 'Production Budget': 1600000, 'Release Date': 'Jan 15 1999', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'MGM', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 'null', 'IMDB Rating': 'null', 'IMDB Votes': 'null'},
 {'id': 6, 'Title': 'Following', 'US Gross': 44705, 'Worldwide Gross': 44705, 'US DVD Sales': 'null', 'Production Budget': 6000, 'Release Date': 'Apr 04 1999', 'MPAA Rating': 'R', 'Running Time min': 'null', 'Distributor': 'Zeitgeist', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'Christopher Nolan', 'Rotten Tomatoes Rating': 'null', 'IMDB Rating': 7.7, 'IMDB Votes': 15133},
 {'id': 7, 'Title': 'Foolish', 'US Gross': 6026908, 'Worldwide Gross': 6026908, 'US DVD Sales': 'null', 'Production Budget': 1600000, 'Release Date': 'Apr 09 1999', 'MPAA Rating': 'R', 'Running Time min': 'null', 'Distributor': 'Artisan', 'Source': 'Original Screenplay', 'Major Genre': 'Comedy', 'Creative Type': 'Contemporary Fiction', 'Director': 'null', 'Rotten Tomatoes Rating': 'null', 'IMDB Rating': 3.8, 'IMDB Votes': 353},
 {'id': 8, 'Title': 'Pirates', 'US Gross': 1641825, 'Worldwide Gross': 6341825, 'US DVD Sales': 'null', 'Production Budget': 40000000, 'Release Date': 'Jul 01 1986', 'MPAA Rating': 'R', 'Running Time min': 'null', 'Distributor': 'null', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'Roman Polanski', 'Rotten Tomatoes Rating': 25, 'IMDB Rating': 5.8, 'IMDB Votes': 3275},
 {'id': 9, 'Title': 'Duel in the Sun', 'US Gross': 20400000, 'Worldwide Gross': 20400000, 'US DVD Sales': 'null', 'Production Budget': 6000000, 'Release Date': 'Dec 31 2046', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'null', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 86, 'IMDB Rating': 7, 'IMDB Votes': 2906},
 {'id': 10, 'Title': 'Tom Jones', 'US Gross': 37600000, 'Worldwide Gross': 37600000, 'US DVD Sales': 'null', 'Production Budget': 1000000, 'Release Date': 'Oct 07 1963', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'null', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 81, 'IMDB Rating': 7, 'IMDB Votes': 4035},
 {'id': 11, 'Title': 'Oliver!', 'US Gross': 37402877, 'Worldwide Gross': 37402877, 'US DVD Sales': 'null', 'Production Budget': 10000000, 'Release Date': 'Dec 11 1968', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'Sony Pictures', 'Source': 'null', 'Major Genre': 'Musical', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 84, 'IMDB Rating': 7.5, 'IMDB Votes': 9111},
 {'id': 12, 'Title': 'To Kill A Mockingbird', 'US Gross': 13129846, 'Worldwide Gross': 13129846, 'US DVD Sales': 'null', 'Production Budget': 2000000, 'Release Date': 'Dec 25 1962', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'Universal', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 97, 'IMDB Rating': 8.4, 'IMDB Votes': 82786},
 {'id': 13, 'Title': 'Tora, Tora, Tora', 'US Gross': 29548291, 'Worldwide Gross': 29548291, 'US DVD Sales': 'null', 'Production Budget': 25000000, 'Release Date': 'Sep 23 1970', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'null', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'Richard Fleischer', 'Rotten Tomatoes Rating': 'null', 'IMDB Rating': 'null', 'IMDB Votes': 'null'},
 {'id': 14, 'Title': 'Hollywood Shuffle', 'US Gross': 5228617, 'Worldwide Gross': 5228617, 'US DVD Sales': 'null', 'Production Budget': 100000, 'Release Date': 'Mar 01 1987', 'MPAA Rating': 'null', 'Running Time min': 'null', 'Distributor': 'null', 'Source': 'null', 'Major Genre': 'null', 'Creative Type': 'null', 'Director': 'null', 'Rotten Tomatoes Rating': 87, 'IMDB Rating': 6.8, 'IMDB Votes': 1532}]

以上是字典格式的电影列表

我需要转换成饼图显示有多少Major Genre使用 matplotlib

标签: pythonmatplotlib

解决方案


我希望这个反例有所帮助。

class counter:
    def __init__(self):
        self.counts = {}
    def count(self,thing):
        try:
            self.counts[thing] += 1
        except:
            self.counts[thing] = 1


data = [1,2,3,5,4,3,56,6,1,23,151,51,1,1,1,1,2,3,4,2]
c = counter()

[c.count(k) for k in data]
print(c.counts)

推荐阅读