Matplotlib 子图 - 图表被覆盖
Matplotlib subplot - chart is overwritten
我想根据以下数据创建两个饼图:
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()
但我只得到了两次绘制的第一个图表:
我知道这是第一个图表,因为我更改了第二个图表的标签。
谁能告诉我我做错了什么?
我不知道为什么会这样,但是如果你直接描述它,你就能画出你想要的。
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()
我想根据以下数据创建两个饼图:
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()
但我只得到了两次绘制的第一个图表:
我知道这是第一个图表,因为我更改了第二个图表的标签。
谁能告诉我我做错了什么?
我不知道为什么会这样,但是如果你直接描述它,你就能画出你想要的。
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()