【发布时间】:2020-06-16 08:57:03
【问题描述】:
根据我对this documentation 的了解,matplotlib 提供了 3 种更改绘图样式参数的方法(例如axes.grid)。这些方法是:使用样式表一次设置多个参数;通过matplotlib.rcParams或matplotlib.rc设置具体参数;或使用matplotlibrc 文件设置默认值。
我想了解在上面列出的每个方法中是否可以访问 所有 参数,以及在哪里可以找到所有 参数的完整列表.
我试图从链接的文档中理解这一点,但我经常失败。一个具体的例子是设置轴字体。我通常使用这样的组合:
axis_font = {'fontname':'Arial', 'size':'32'}
ax.set_ylabel('some axis title',**axis_font)
但不清楚我设置了什么matplotlib 参数(如果有)。例如,是否存在可以包含在样式文件中的轴字体参数?
我的代码中的其他尝试包括令人困惑的块,例如:
legend_font = {'fontname':'Arial', 'size':'22'}
#fonts global settings
matplotlib.rc('font',family=legend_font['fontname'])
从名称上看,它似乎会改变图例字体,但实际上它显然是在为整体字体设置参数。并且尺寸没有被使用。 特别是图例字体和图例大小是否有matplotlib 参数?
我尝试过的事情是:
- 检查链接页面底部的示例
matplotlibrc(没有专门的轴符号或图例字体) - 正在打印
matplotlib.rcParams(没有轴符号或图例字体) - 检查axis api(无法与示例样式文件匹配,例如classic predefined style file 具有
facecolor集,该页面中提到了,但它也有edgecolor集,该页面未提及)
【问题讨论】:
-
rcParams只是一个默认值字典,被认为允许设置为默认值很有用。不能保证任何特定的方法在他的 rcParams 中有一个条目,它们不应该被认为是各种类或方法的 kwargs 的同义词。 -
如果要更改图例字体,建议您使用
ax.legend(prop=fontprop),而不是切换rcParam。同样,对于轴字体... -
@JodyKlymak 好的。如果我理解你在说什么,这意味着对我的直接问题的一个非常简单的回答。即不,轴和图例字体不能由
rcParams设置如果这是答案,请发布。 -
This page 尤其是sample rc file 应该会有所帮助。
-
那么也许你看的不够仔细,这个问题每个部分的答案都包含在那个页面中。查看示例 rc 文件特别有用,因为它包含一个完整的 每个 参数列表,可以使用
rcParams、matplotlibrc文件或样式表进行修改。是的,您可以使用这三种方法中的任何一种来修改同一组参数。
标签: python matplotlib