我正在处理文本数据以查找情绪分析。我有一个每个句子的情绪评分数据框。使用这些数据我创建了一个饼图,但它在图表中显示了0%。我无法理解这个0%的含义。这是我的数据框df1:
score
Negative 100.0
Neutral 0.0
Positive 0.0
这是我创建饼图的代码:
import matplotlib.pyplot as plt
import os
plt.figure(figsize=(4,3))
df1.plot(kind='pie', autopct='%1.1f%%', subplots=True,startangle=90, legend = False, fontsize=14)
plt.axis('off')
plt.show()
这是我的输出图:
如何从我的情节中删除这个0%?
答案 0 :(得分:1)
我认为您只需过滤数据框即可删除df_to_plot = df1.loc[lambda df: df['score'] == 0]
为零的行。
{{1}}
答案 1 :(得分:0)
对不起,一个非常“实际”的答案。
那你给
df1.plot(kind='pie', autopct='%1.1f%%', subplots=True,startangle=90, legend = False, fontsize=14)
它需要带零的完整df,例如[100,0,0]
您可以过滤df,作为上面的联合国答案,但也可以在autopct中使用lambda函数:
df1.plot(kind='pie', autopct=lambda p: '{:.1f}%'.format(round(p)) if p > 0 else '', subplots=True,startangle=90, legend = False, fontsize=14)