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

时间:2015-11-20 05:40:34

标签: python matplotlib

我可以使用matplotlib.rcParams['axes.color_cycle'] = my_color_list为matplotlib中的行设置默认颜色循环,但我无法弄清楚如何使用线型(即'-','--','-.',':')执行相同的操作。我知道我可以使用像

这样的东西来设置它
linecycler = itertools.cycle(lines)
for i in range(n):
    plt.plot(x[i],y[i],next(linecycler))

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

1 个答案:

答案 0 :(得分:6)

如果您正在运行matplotlib 1.5或更高版本,那么您可以使用rcParamaxes.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', ['-', '--', ':', '-.'])))

有关详细信息,请参阅this examplethe docs