如何自动更换matplotlib线标记?

poc*_*ese 6 python matplotlib

可能重复:
我可以在matplotlib matplotlib中循环使用线条样式
- 黑白色彩图(带有破折号,点等)

我正在使用matplotlib(python),我在一个图上绘制了几行.

默认情况下,python为每一行分配不同的颜色,但我希望它分配不同的行类型,并且只为所有行使用黑色.

我知道我可以列出不同的行类型并使用它们,但这涉及抓取所有行类型并将它们添加到我想要绘制多行的每个脚本中.我认为必须有一种自动方式.

daw*_*awe 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()
Run Code Online (Sandbox Code Playgroud)