|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- In [22]:types = []
​​​​for tp in movies_df_new['genres']:
​​​​sp = tp.split('|')
​​​​for x in sp:
​​​​types.append(x)
​​​​types_df = pd.DataFrame({'genres':types})
​​​​In [23]: types_df_counts = types_df['genres'].value_counts()
​​​​In [24]: types_df_counts
​​​​Out[24]: Drama 1876
​​​​Comedy 1455
​​​​Thriller 1105
​​​​Action 951
​​​​Romance 851
​​​​Adventure 773
​​​​Crime 704
​​​​Fantasy 504
​​​​Sci-Fi 492
​​​​Family 440
​​​​Horror 386
​​​​Mystery 378
​​​​Biography 238
​​​​Animation 196
​​​​War 150
​​​​Music 149
​​​​Sport 147
​​​​History 147
​​​​Musical 96
​​​​Western 57
​​​​Documentary 45
​​​​Film-Noir 1
​​​​Name: genres, dtype: int64​​
复制代码- In [26]:b1 = types_df_counts/types_df_counts.sum()
​​​​explode = (b1>=0.06)/20+0.02
​​​​types_df_counts.plot.pie(autopct='%1.1f%%',figsize=(8,8),\
​​​​label='',explode=explode)
​​​​plt.title('Movie Type Proportional Distribution Map')
复制代码
2
​​​​types_df_counts.plot.pie(autopct='%1.1f%%',figsize=(8,8),\
​​​​label='',explode=explode)
​​​​中label=‘‘指的是ylabel=‘count’,而不是labels外标签,为什么?查看series.plot.pie的帮助文档以及plt.pie的帮助文档都找不到label这个参数。
看起来在你的代码中,你可能混淆了 label 和 labels 这两个参数。在 series.plot.pie() 和 plt.pie() 中,这两个参数有不同的含义。
首先,让我们谈谈 plt.pie() 。这是Matplotlib库中的一个函数,用于创建饼状图。它有一个参数 labels ,这个参数表示的是饼图每一块的标签。如果你查看 plt.pie() 的帮助文档,你会发现有一个 labels 参数,这是一个可选的参数,用来指定每个饼块的标签。
然后,我们来看 Series.plot.pie() 。这是pandas库中的一个方法,用于在Series数据类型上创建饼状图。在你的例子中,你的 label 参数被设定为 '' 。在这种情况下, label 参数实际上被用作Y轴的标签。你可以通过设置 label 参数来改变Y轴的标签。
如果你希望改变饼图每一块的标签,你可以在调用 plot.pie() 方法时传入 labels 参数。例如,如果你希望每一块的标签是电影的类型,你可以这样做:
- types_df_counts.plot.pie(labels=types_df_counts.index, ...)
复制代码
在这个例子中, types_df_counts.index 是一个包含所有电影类型的列表,它将被用作饼图每一块的标签。
最后,需要注意的是,在pandas的 plot.pie() 方法中,没有 label 参数。所以,你在你的代码中看到的 label 参数可能是来自于Matplotlib的 pyplot 方法的。在你的例子中,你调用了 plt.title() 来设置图的标题,这是一个 pyplot 方法。在 pyplot 中,许多函数都可以接受 label 参数,例如 plt.plot() 、 plt.scatter() 等等。这些函数中的 label 参数用于设置图例的标签。但是在饼图中,通常我们不需要图例,所以 label 参数通常不会被使用。
|
|