Я хочу построить 2 переменные в круговой диаграмме в Python - PullRequest
0 голосов
/ 06 октября 2019

Я хочу построить 2 переменные на одной гистограмме, поэтому диаграмма выглядит следующим образом:

chart

Я пробовал этот код, взятый издругой пост, но он дал странный график:

data1 = df_master['doggo']
data2 = df_master['floofer']

# create a figure with two subplots
fig, (ax1, ax2) = plt.subplots(1, 2)

plt.figure(0)
ax1.pie(data1)

plt.figure(1)
ax2.pie(data2)

plt.show();

second chart

Фрейм данных имеет следующее содержимое:

tweet_id                         2321 non-null object
in_reply_to_status_id_x          68 non-null float64
in_reply_to_user_id_x            68 non-null float64
timestamp                        2321 non-null object
text                             2321 non-null object
expanded_urls                    2271 non-null object
name                             1601 non-null object
doggo                            2321 non-null int64
floofer                          2321 non-null int64
pupper                           2321 non-null int64
puppo                            2321 non-null int64
rating                           2321 non-null float64

Любойидея как заставить это работать?

1 Ответ

1 голос
/ 13 октября 2019

Вы не включили образец вашего фрейма данных. Пожалуйста, сделайте в следующий раз. Я сгенерировал случайный df, похожий на этот:

   pupper  floofer  doggo  puppo
0       3        3      4      5
1       6        2      3      7
2       4        8      6      0
3       2        5      5      6
4       7        4      5      3

Затем я поместил данные в формат " long " с melt.

# put the data into the long format
df = df.melt(var_name='source')

Теперьв нем много строк, но только два столбца. Источник и значение.

   source  value
0  pupper      3
1  pupper      6
2  pupper      4
3  pupper      2
4  pupper      7
395  puppo      5
396  puppo      6
397  puppo      4
398  puppo      2
399  puppo      9

Затем я взял сумму значений для каждого источника и передал ее plt.pie

plt.pie(df.groupby('source')['value'].sum())

. Оставшуюся часть я оставлю вам. Читайте круговые диаграммы и не стесняйтесь поиграть с взорваться , цвета , тень и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...