gpt4 book ai didi

python - 如何使用 Pandas 散点矩阵创建子图

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:48 24 4
gpt4 key购买 nike

所以我试图创建一个 Pandas 散点矩阵的子图,但遇到了一些困难。我环顾过其他类似的问题,但似乎没有一个答案可以解决这个问题。现在我只是想创建其中两个的子图。我将在某个时候转向一个二乘二的子图,但我只是想从小处开始,让它发挥作用。这是我的代码

df_SH = pd.DataFrame({'East_Pacific_SH':DJF_con_SH_east_finite_all, 
'West_Pacific_SH':DJF_con_SH_west_finite_all,
'Atl_SH':DJF_con_SH_atl_finite_all,
'Zonal_SH':DJF_con_SH_zonal_finite_all})

df_NH = pd.DataFrame({'East_Pacific_NH':DJF_con_NH_east_finite_all,
'West_Pacific_NH':DJF_con_NH_west_finite_all,
'Atl_NH':DJF_con_NH_atl_finite_all,
'Zonal_NH':DJF_con_NH_zonal_finite_all})

region_name=np.array(['East_Pacific_SH', 'West_Pacific_SH', 'Atl_SH', 'Zonal_SH'])


plt.suptitle('Control Correlations')
plt.subplot(211)
axes = pd.scatter_matrix(df_SH, alpha=0.2, diagonal='kde')
corr = df_SH.corr().as_matrix()
for i, j in zip(*plt.np.triu_indices_from(axes, k=1)):
axes[j, i].annotate("%.3f" %corr[j,i], (.8, .9), xycoords='axes fraction', ha='center', va='center')
plt.title('Control DJF SH', size = 15)
#plt.savefig(filename='DJF_SH_Control_Scatter.pdf', ftype='pdf')
#plt.show()

plt.subplot(212)
axes2 = pd.scatter_matrix(df_NH, alpha=0.2, diagonal='kde')
corr2 = df_NH.corr().as_matrix()
for i, j in zip(*plt.np.triu_indices_from(axes, k=1)):
axes2[j, i].annotate("%.3f" %corr2[j,i], (.8, .9), xycoords='axes fraction', ha='center', va='center')
plt.title('Control DJF NH', size = 15)
#plt.savefig(filename='DJF_NH_Control_Scatter.pdf', ftype='pdf')
plt.show()

这是结果

result

result

result

最佳答案

pandas 目前还没有这样做,尽管它有一个很有前途的 ax 参数:

iris = pd.DataFrame.from_csv('iris.csv')
chicks = pd.DataFrame.from_csv('ChickWeight.csv')
import matplotlib.pyplot as plt

fig, axs = plt.subplots(2)

#iris.plot.scatter('PL', 'PW', ax = axs[0])
#chicks.plot.scatter('Diet', 'Chick', ax = axs[1]) # This is fine.

pd.scatter_matrix(iris, ax=axs[0], alpha=0.2)
pd.scatter_matrix(chicks, ax=axs[1], alpha=0.2) # This clears axes unexpectedly.

plt.savefig('two_pd_scatter.png')

发出警告

/usr/local/lib/python2.7/site-packages/pandas/tools/plotting.py:3303: UserWarning: To output multiple subplots, the figure containing the passed axes is being cleared

"is being cleared", UserWarning)

请注意,它专门清除整个图形,而不仅仅是传递的轴。

我会通过为散点矩阵生成四个边距较小、系统命名的图形来解决这个问题,并建立一个文档(TeX,无论什么),将这些图形导入到正确的位置并使用正确的标题。

关于python - 如何使用 Pandas 散点矩阵创建子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38881265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com