制作不同颜色的线图标记

Per*_*erl 4 matplotlib python-3.x

我想在线图中标记某些索引。我参考了以下有关堆栈溢出的问题并编写了以下内容:

plt.plot(range(len(y)), y, '-bD', markevery=rare_cases, label='%s' % target_var_name)
Run Code Online (Sandbox Code Playgroud)

但是,这会产生以下结果: 在此处输入图片说明

如何将线图保持为蓝色,但将标记设为红色?

war*_*ped 5

plt.plot文档中

matplotlib.pyplot.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
Run Code Online (Sandbox Code Playgroud)

该函数需要**kwargs

**kwargsLine2D 属性,可选 kwargs 用于指定诸如线标签(用于自动图例)、线宽、抗锯齿、标记面颜色等属性 [...] 以下是可用 Line2D 属性的列表:[...]

markeredgecolormec 颜色
markeredgewidthmew 浮点数
markerfacecolormfc 颜色
markerfacecoloraltmfcalt 颜色

因此,您可以将markerfacecolormarkeredgecolor作为关键字参数:

x = np.random.randint(0,10,5)
y = np.random.randint(0,10,5)
    
plt.plot(x, y, '-bD',  c='blue', mfc='red', mec='k')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明