【问题标题】:how do I have matplotlib change line markers automatically? [duplicate]如何让 matplotlib 自动更改线标记? [复制]
【发布时间】:2012-03-20 16:53:55
【问题描述】:

可能重复:
Can i cycle through line styles in matplotlib
matplotlib - black & white colormap (with dashes, dots etc)

我正在使用 matplotlib (python),并且我在一个图上绘制了几条线。

默认情况下,python 为每条线分配不同的颜色,但我希望它分配不同的线型,并为所有线型使用黑色。

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

【问题讨论】:

  • 这确实是这两个问题的重复。我在搜索时错过了它们。

标签: python matplotlib


【解决方案1】:

我不认为这是可能的自动你会想要的,但它肯定是可以做到的,只需很少的努力。就像我在情节中所做的那样,我做了所有我想要的情节,然后我改变了标记。但是,根据我的经验,找到正确的标记循环取决于您要显示的图表以及图表出现的上下文。我非常鼓励您选择这种手动选择标记,并找出在您的图表上看起来最好的标记。按照一个小草图展示我的做法(但你已经在你的问题中提到了类似的东西):

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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 2021-04-04
    相关资源
    最近更新 更多