可能重复:
Can i cycle through line styles in matplotlib
matplotlib - black & white colormap (with dashes, dots etc)
我正在使用matplotlib(python),我在一个图上绘制了几行。
默认情况下,python为每一行分配不同的颜色,但我希望它分配不同的行类型,并且只为所有行使用黑色。
我知道我可以列出不同的线型并使用它们,但这涉及抓取所有线型并将它们添加到我想用多个线绘制的每个脚本中。我认为必须采用自动方式。
答案 0 :(得分:7)
我认为 可能是你想要的,但是只需要很少的努力就可以实现。我在我的情节中做的方式,我做我想要的所有绘图,然后我改变标记。但是,根据我的经验,找到正确的标记周期取决于您要显示的图形以及图形显示的上下文。我诚挚地鼓励您选择这种手动选择标记,并找出图形上看起来最好的标记。按照一个小草图展示我的方式(但你已经在你的问题中提到了类似的东西):
import matplotlib.pyplot as plt
f = plt.figure(1); f.clf()
ax = f.add_subplot(111)
ax.plot([1,2,3,4,5])
ax.plot([5,4,3,2,1])
ax.plot([2,3,2,3,2])
import itertools
for l, ms in zip(ax.lines, itertools.cycle('>^+*')):
l.set_marker(ms)
l.set_color('black')
plt.show()