Подзаголовок Matplotlib — диаграмма перезаписана

#pandas #matplotlib #subplot

#pandas #matplotlib #подзаголовок

Вопрос:

Я хочу создать две круговые диаграммы на основе следующих данных:

 post_type   owner_user_id   year_posted score   count
A           150165022       332372      2567380 35846
Q           112349610       283997       180680 2111
  

один за score другим и по одному count сгруппированы post_type . Итак, я использую следующий код:

 axes[0].labels = ['answers', 'questions']
axes[0].sizes = buffer_df['score']
axes[0].explode = (0, 0.3)
axes[0].pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',shadow=True, startangle=90)
axes[0].axis('equal')

axes[1].labels = ['answers a', 'questions a']
axes[1].sizes = buffer_df['count']
axes[1].explode = (0, 0.3)
axes[1].pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',shadow=True, startangle=90)
axes[1].axis('equal')

plt.show()
  

но я получаю только первую диаграмму, нарисованную два раза:

введите описание изображения здесь

Я знаю, что это первая диаграмма, так как я меняю метки второй.

Кто-нибудь может сказать, что я делаю не так?

Ответ №1:

Я не знаю, почему это так, но если вы опишете это напрямую, вы можете нарисовать то, что намереваетесь.

 import matplotlib.pyplot as plt

fig, axes= plt.subplots(1,2, figsize=(12,9))

axes[0].pie(buffer_df['score'], explode=(0, 0.3), labels=['answers', 'questions'], autopct='%1.1f%%',shadow=True, startangle=90)
axes[0].axis('equal')
axes[1].pie(buffer_df['count'], explode=(0, 0.3), labels=['answers a', 'questions a'], autopct='%1.1f%%',shadow=True, startangle=90)
axes[1].axis('equal')

plt.show()
  

введите описание изображения здесь