2015-10-13 91 views
0

我可以在matplotlibrc文件中定义破折号样式,即长度和分隔吗?在matplotlibrc中设置破折号样式

现在,我必须做这样的事情:

plt.plot(x, y, '--', dashes=(3,1)) 

我想把选项“破折号=(3,1)”到matplotlibrc,但无法找到任何关于它。

感谢

编辑: 对于澄清:我不想设置此全球范围内,但对于一个样式表(http://matplotlib.org/users/style_sheets.html),其中默认的虚线样式太粗,因为风格是小图片出版物。

+0

你可以在这个字典中看到'matplotlib.rcParams'。我尝试这个'[k for matplotlib.rcParams.keys(),如果在'k'中有'破折号',但它返回一个空列表。如果你剥字典,也许你会找到一些东西.. –

回答

0

如果您确实需要重复使用此特定样式,您可以简单地创建一个部分函数,​​该函数为dashes=参数设置默认值。

import functools 
dashed_plot = functools.partial(plt.plot, dashes=(3, 1)) 

(这是没有必要使用dashes关键字参数时指定linestyle=)。

该rcfile是用于其他事情,如什么渲染后端使用,应设置全局。我想知道你为什么要强制使用短划线作为rc选项。

+0

谢谢。原因是,我为什么要这样做,是因为我定义了各种自定义样式,我通过plt.style.use('mystyle')导入,请参阅http://matplotlib.org/users/style_sheets.html。一种是适合我文本一列的图形,即宽度仅为3.4英寸。对于这种风格,我将相应的所有字体/行设置得很小,但默认的破折号样式太粗糙了。如果我将样式更改为例如两列宽度,则必须更改破折号参数。 – bergfruehling