【发布时间】:2019-02-25 17:26:47
【问题描述】:
绘制 2 个星系等效宽度比列表,我将它们相互绘制。然后我想消除线 y=(0.61)/(x-0.05)+1.3 上方的所有点,以便只有线下方的点保留在图中。但是,因为这条绘制的线创建了一个渐近线,所以我不希望某些点保持可见,因为它们在技术上位于该线下方。这是我目前所拥有的:
x = np.linspace(-5, 5, 100)
filteredx = list()
filteredy = list()
for ii in range(20000):
if OT[ii] < (0.61) / (NT[ii] - 0.05) + 1.3:
filteredx.append(NT[ii])
filteredy.append(OT[ii])
plt.scatter(filteredx, filteredy, marker='.', color='r', label="StarBursts")
plt.plot(x,y, linewidth=1, linestyle='-')
plt.plot(x, y, '-k')
plt.plot(x, y2, '--k')
plt.xlabel('log(NII/HA)', color='#1C2833')
plt.ylabel('log(OIII/HB)', color='#1C2833')
plt.ylim(-1,1.5)
plt.xlim(-2,0.5)
plt.legend()
plt.show()
有谁知道消除渐近线从而导致这些点消失的方法?
编辑
下面是更清晰的情节:
【问题讨论】:
-
您需要提供[一个最小、完整和可验证的示例](stackoverflow.com/help/mcve)。目前,如果没有看到您得到的实际有问题的数字,很难想象脑海中的问题
-
对不起,我是堆栈溢出的新手,我添加了绘图的图像,我试图隐藏绘图右侧的所有点,因为如果渐近线,它们仍将位于上述线下未绘制(仅在 x=0 的左侧看到),我希望这能让它更清楚,谢谢!
标签: python python-3.x matplotlib scatter-plot