| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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  参数通常不会被使用。 
 
 
 |   
 
 
 
 |