我有一个如下的多面板图。
fig, axs = plt.subplots(1, 2, sharey=True, figsize = (20 , 10) , gridspec_kw={'hspace': 0, 'wspace': 0})
axs[0].scatter(fullmergedf['gf_re_j'] , fullmergedf['PAB_SFR_EX2'] , s = 200)
axs[0].scatter(fullmergedf['gf_re_j'] , fullmergedf['PAB_SFR_EX2_LL'] , s = 200 , marker = '+' , c = 'black')
axs[0].plot([0 , 2] , [0 , 0] , '--' , c = 'gray')
axs[0].set_ylabel(r'log($SFR_{Pa\beta}$) - log($SFR_{UV}^{corr}$)')
axs[0].set_xlabel(r"$R_{eff}$ [arcsec]")
axs[0].axis([0 , 1.7 , -2.5 , 3])
axs[1].scatter(fullmergedf['gf_n_j'] , fullmergedf['PAB_SFR_EX2'] , s = 200)
axs[1].scatter(fullmergedf['gf_n_j'] , fullmergedf['PAB_SFR_EX2_LL'] , s = 200 , marker = '+' , c = 'black')
axs[1].plot([0 , 8] , [0 , 0] , '--' , c = 'gray')
axs[1].set_xlabel(r"n")
axs[1].axis([0 , 3 , -2.5 , 3])
#axs[1].set_xscale('log')
plt.show()
我想用数据框架中另一列的条件 来删除散点图中的一些点。这个条件需要是,只有在 fullmergedf['gf_f_j']
对该对象来说是0。在pandas中有没有一种有效的方法来做这样的事情?
你可以做一个布尔分片吗?所以也许 x = fullmergedf['gf_re_j'][fullmergedf['gf_re_j'] == 0]
和 y = fullmergedf['PAB_SFR_EX2'][fullmergedf['gf_re_j'] == 0]
那么 ax.scatter(x,y)
(只是为了便于阅读而分解成变量)。