在matplotlib中设置默认线型循环器

Ben*_*say 4 python matplotlib

我可以在matplotlib中为行设置默认的颜色循环matplotlib.rcParams['axes.color_cycle'] = my_color_list,但我无法弄清楚如何用线条样式(即'-','--','-.',':')做同样的事情.我知道我可以使用类似的东西设置它

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

但是我希望能够做更像颜色循环的事情,所以每次我想绘制时都不需要制作新的循环仪.我怎样才能做到这一点?

And*_*lev 6

如果您正在运行matplotlib 1.5或更高版本,那么您可以在rcParam使用中为所有绘图属性引入循环器axes.prop_cycle(并且axes.color_cycle不赞成使用axes.prop_cycle).简而言之,您应该能够按照这些方针做一些事情:

import matplotlib.pyplot as plt
from cycler import cycler
plt.rc('axes', prop_cycle=(cycler('color', ['r', 'g', 'b', 'y']) +
                           cycler('linestyle', ['-', '--', ':', '-.'])))
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此示例文档.