【发布时间】:2019-12-05 06:18:55
【问题描述】:
在matplotlib 中,我可以使用clist 中给出的不同标记颜色的散点图。
注意:clist 的大小与ydata 相同,即分别指定每个标记的颜色。
plt.scatter(xdata, ydata, marker='o', c=clist)
我可以有类似plt.plot 的东西吗?
【问题讨论】:
标签: matplotlib
在matplotlib 中,我可以使用clist 中给出的不同标记颜色的散点图。
注意:clist 的大小与ydata 相同,即分别指定每个标记的颜色。
plt.scatter(xdata, ydata, marker='o', c=clist)
我可以有类似plt.plot 的东西吗?
【问题讨论】:
标签: matplotlib
相当于
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")
当然你也可以使用循环。一般来说,在这种情况下,我建议只使用scatter。
【讨论】:
这是一种基于 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='')
【讨论】:
clist 的大小与ydata 相同,即分别指定每个标记的颜色。如果我使用我的clist 而不是你的colors,这会起作用吗?这对于数千个数据点是否具有合理的性能?
(....) 格式的列表替换('r', 'g', 'b', 'c', 'k'),它应该可以工作。对于性能,我会简单地使用%timeit 来测量时间