如何根据第三个参数排除数据?

问题描述 投票:0回答:1

我有一个行星半径与其轨道周期的关系图,以其日照的颜色进行编码。enter image description here

如从图中可以看到,日照值一直上升到地球的40000倍。我不在乎那些价值观。我主要关心的是0-1.50的值。有什么方法可以排除较大的数据,或者至少使高于1.50的所有内容变为不同的颜色?到目前为止,我有这个:

plt.figure(figsize = (9,7))
plt.title('Planet Radius vs Orbital Period', fontsize = 24, fontweight='bold')
plt.ylabel('Radius [Earth Radii]', fontsize = 16)
plt.xlabel('Period [Days]', fontsize=16)
plt.xscale('log')
plt.yscale('log')

x = data2['pl_orbper']
y = data2['pl_rade']
z = data2['pl_insol']
plt.scatter(x,y, c=z, s=5, cmap='autumn')
cbar= plt.colorbar()
cbar.set_label('Insolation [Earth Flux]')
plt.show()
python matplotlib
1个回答
0
投票

您可以这样选择数据框的修剪部分:

data2_trimmed=data2.loc[data2['pl_insol']<=1.5,:]
z = data2_trimmed['pl_insol']
x = data2_trimmed['pl_rade']
y = data2_trimmed['pl_orbper']

要在其中选择所有列,仅选择满足条件data2['pl_insol']<=1.5的行

© www.soinside.com 2019 - 2024. All rights reserved.