使用matplotlib图设置不同的标记颜色

时间:2019-12-05 06:18:55

标签: matplotlib

matplotlib中,我可以使用clist中给出的具有不同标记颜色的散点图。 注意:clist的大小与ydata相同,即,每个标记的颜色是分别指定的。

plt.scatter(xdata, ydata, marker='o', c=clist)

我可以和plt.plot类似吗?

3 个答案:

答案 0 :(得分:0)

不是确切的解决方案,但这可以满足您的要求:

plt.plot(xdata, ydata, marker='o', c='C0', zorder=0)
plt.scatter(xdata, ydata, marker='o', c=clist, zorder=1)

这有帮助吗? (对于Python 3.x)

clist = itertools.cycle(['r', 'g', 'b'])

plt.plot(xdata, ydata)
for i, j in zip(xdata, ydata):
    plt.plot(i, j, marker='o', mfc=next(clist))

答案 1 :(得分:0)

这是一种基于标记here的技巧的解决方案。

import itertools
import matplotlib.pyplot as plt

colors = itertools.cycle(('r', 'g', 'b', 'c', 'k')) 

for n in range(5):
    plt.plot(n, n**2, marker = 'o', color=next(colors), linestyle='')

enter image description here

答案 2 :(得分:0)

相当于

develop

将会

plt.scatter(xdata, ydata, marker='o', c=clist)

当然,您也可以使用循环。通常,在这种情况下,我建议只使用plt.gca().set_prop_cycle(plt.cycler("color", clist)) plt.plot(np.atleast_2d(xdata), np.atleast_2d(ydata), marker="o")