花开半夏—— 发表于 2023-6-8 12:20:16

Series.plot.pie()参数求助

In :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 : types_df_counts = types_df['genres'].value_counts()
​​​​In : types_df_counts
​​​​Out: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 :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这个参数。

花开半夏—— 发表于 2023-6-8 12:22:01

代码显示不出来,发在评论区了

花开半夏—— 发表于 2023-6-8 12:22:59

In :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 : types_df_counts = types_df['genres'].value_counts()
​​​​In : types_df_counts
​​​​Out: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 :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')
​​​​Out​​

isdkz 发表于 2023-6-8 12:23:26

看起来在你的代码中,你可能混淆了 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参数通常不会被使用。

花开半夏—— 发表于 2023-6-8 12:23:54

好吧,其实还能看

zhangjinxuan 发表于 2023-6-8 14:17:50

{:10_256:}

myd0311 发表于 2023-6-8 14:18:06

为什么这么多奇怪的符号

myd0313 发表于 2023-6-8 14:18:44

看不懂啊,这是什么{:10_266:}

Threebody1 发表于 2023-7-17 14:55:00

myd0313 发表于 2023-6-8 14:18
看不懂啊,这是什么

我懂你意思{:10_256:}
页: [1]
查看完整版本: Series.plot.pie()参数求助