散点图改变特定点的颜色

Scatterplot change color of specific point

我正在尝试创建一个包含很多点 (>10000) 的散点图。

我想根据特定条件使用不同的颜色突出显示其中的一些要点。 我知道我可以通过遍历点并单独指定颜色来完成此操作,但我认为这会很慢。

最终我想要类似于这样的东西:

即理想情况下我想指定第五个点应该是红色的。

有谁知道有没有简单的方法可以做到这一点?

此外,如果有人能告诉我如何为这种情节添加传奇,我将不胜感激。例如。红点表示“年龄>15”,蓝点表示“年龄<15”

干杯!

你可以用这个脚本来解决

import numpy as np
from matplotlib import pyplot as plt

fig,ax = plt.subplots()
x = y = np.arange(20)
colors = ['k'] * 20
colors[4] = 'r'

ax.scatter(x,y,c=colors)
ax.scatter([],[],c='k',label='age < 15')
ax.scatter([],[],c='r',label='age > 15')
ax.legend(loc='best')

输出图为