散点图改变特定点的颜色
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')
输出图为
我正在尝试创建一个包含很多点 (>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')
输出图为