从绘制在i上的线的散点图中删除渐近线

2024-09-28 05:23:34 发布

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

绘制两张星系等效宽度比的列表,我将它们相对绘制。然后我想消除线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()

有人知道一种方法可以消除渐近线,从而使这些点消失吗?提前谢谢edit:Here is the plot for more clarity


Tags: logforplot绘制pltotlistcolor
1条回答
网友
1楼 · 发布于 2024-09-28 05:23:34

如果你改变

plt.plot(x, y, linewidth=1, linestyle='-')
plt.plot(x, y, '-k')

plt.plot(x[x > 0.05], y[x > 0.05], '-k')
plt.plot(x[x < 0.05], y[x < 0.05], '-k')

使用随机生成的数据:

enter image description here

不会绘制渐近线。有关更详细的完整示例,请参见我对previous question的回答

相关问题 更多 >

    热门问题