在matplotlib中定义样式类

时间:2017-02-05 11:06:35

标签: python matplotlib

我必须在一个matplotlib图中绘制不同的曲线。每条曲线必须有自己的样式(颜色,厚度等)。我想在一个matplotlibrc文件中设置样式。我想使用像line1,line2等名称来引用不同的样式,而不是颜色循环。这在motplotlib中是否可行?

1 个答案:

答案 0 :(得分:0)

matplotlib rc文件旨在为绘图提供默认样式,它并不意味着以层叠样式表(CSS)或类的方式提供样式。

所以可能的是创建几个rc文件并在上下文中使用它们,如自定义教程的temporary-styling部分所述,例如:使用名为line1.mplstyle的文件,你可以做

with plt.style.context(('line1')):
    plt.plot([1,2,3])

因为这对于设置一些行属性似乎有点过分,所以简单地创建一些参数字典以提供给plot命令就足够了,如下所示:

line1 = dict(lw=2, ls=":", color="red")
line2 = dict(lw=0.8, ls="-", color="blue")

ax.plot([1,2,3], **line1)
ax.plot([1,2,3], **line2)