Python 在matplotlib中设置默认线样式循环器

Python 在matplotlib中设置默认线样式循环器,python,matplotlib,Python,Matplotlib,我可以使用matplotlib.rcParams['axes.color\u cycle']=my\u color\u list,为matplotlib中的线条设置默认颜色循环,但我不知道如何对线条样式执行相同的操作(即“-”、“-”、“-”、“:”)。我知道我可以用这样的方法设置 linecycler = itertools.cycle(lines) for i in range(n): plt.plot(x[i],y[i],next(linecycler)) 但我希望能够做一些更像

我可以使用
matplotlib.rcParams['axes.color\u cycle']=my\u color\u list
,为matplotlib中的线条设置默认颜色循环,但我不知道如何对线条样式执行相同的操作(即
“-”、“-”、“-”、“:”
)。我知道我可以用这样的方法设置

linecycler = itertools.cycle(lines)
for i in range(n):
    plt.plot(x[i],y[i],next(linecycler))

但我希望能够做一些更像颜色循环的事情,这样我就不必每次想绘图时都制作一个新的循环器。如何执行此操作?

如果您运行的是matplotlib 1.5或更高版本,则可以使用
轴.prop\u cycle
(和
轴.color\u cycle
被弃用,取而代之的是
轴.prop\u cycle
)。简言之,您应该能够按照以下思路做一些事情:

import matplotlib.pyplot as plt
from cycler import cycler
plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']) +
                           cycler('linestyle', ['-', '--', ':', '-.'])))
有关详细信息,请参阅和