Matplotlib打开两个窗口节目()

2024-06-07 16:07:51 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的项目中,我用了两个数字节目()第一个窗口运行正常,但第二个窗口创建了两个窗口,一个窗口正确命名为“Figure 2”,另一个窗口在屏幕上没有显示任何内容,只有名为“Figure 1”的“功能条”(与第一个图类似)。如何创建正确的窗口?你知道吗

x = pd.DataFrame(maindf[missao_unica].value_counts())
plt.figure(figsize=(20,12), dpi=200)
plt.subplots_adjust(wspace = .5)
plt.subplot(1,3,1)
plt.pie(x[missao_unica].tolist(), labels=x.index.tolist(),autopct='%1.1f%%',shadow=False, startangle=90)
plt.title('Contagem(%)')
plt.subplot(1,3,2)
sns.heatmap(x,cmap='inferno_r')
plt.title('Contagem(Valor Absoluto)')
plt.subplot(1,3,3)
plt.title('Coeficientes')
sns.countplot(maindf[missao_unica],dodge=None)
plt.savefig('Imagens\Missões.png')
plt.show()

Tags: 项目屏幕titleplt数字节目命名figure
1条回答
网友
1楼 · 发布于 2024-06-07 16:07:51

如果直接使用matplotlib对象而不是依赖于pyplot状态机,则可以避免这种情况。作为额外的好处,您将拥有更明确和可维护的代码。你知道吗

这里的主要内容是使用plt.subplots()提前设置所有图形和轴,然后显式地对这些对象进行操作,并将它们直接传递给要使用的seaborn函数。你知道吗

x = pd.DataFrame(maindf[missao_unica].value_counts())
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(20, 12), dpi=200)
fig.subplots_adjust(wspace=0.5)
axes[0].pie(x[missao_unica].tolist(), labels=x.index.tolist(),
            autopct='%1.1f%%', shadow=False, startangle=90)
axes[0].set_title('Contagem(%)')

sns.heatmap(x, cmap='inferno_r', ax=axes[1])
axes[1].set_title('Contagem(Valor Absoluto)')

axes[2].set_title('Coeficientes')
sns.countplot(maindf[missao_unica], dodge=None, ax=axes[2])

# note the use raw strings for paths with back-slashes
fig.savefig(r'Imagens\Missões.png')
plt.show()

相关问题 更多 >

    热门问题