Как убрать 0% из круговой диаграммы? - PullRequest
0 голосов
/ 21 мая 2018

Я работаю с текстовыми данными, чтобы найти анализ настроений.У меня есть фрейм данных оценки настроения каждого предложения.Используя эти данные, я создаю круговую диаграмму, но она показывает 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% от моего заговора?

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Извините, за очень «актуальный» ответ.

Затем вы даете

df1.plot(kind='pie', autopct='%1.1f%%', subplots=True,startangle=90, legend = False, fontsize=14) Требуется полный df с нулями, как [100,0,0] Вы можете отфильтровать df как un answerвыше, но вы также можете использовать лямбда-функцию в autopct: df1.plot(kind='pie', autopct=lambda p: '{:.1f}%'.format(round(p)) if p > 0 else '', subplots=True,startangle=90, legend = False, fontsize=14)

0 голосов
/ 21 мая 2018

Я думаю, что вы можете просто отфильтровать кадр данных, чтобы удалить строки, где score равно нулю.

df_to_plot = df1.loc[lambda df: df['score'] == 0]
...