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