如何使用matplotlib

时间:2019-03-27 20:36:45

标签: matplotlib

使用matplotlib 3.0.1,我必须确定所有文本都必须在Open Sans Light中使用。由于图形非常复杂,有多个面板等,因此我想使用matplotlib.pyplot.rc(..)进行设置,以定义图形所有元素的默认字体和字体粗细。

下面的代码提供了一个最小的示例。因为不是每个人都可能安装了Open Sans,所以在这里我使用默认字体和“粗体”粗细而不是“浅色”,以使其更加通用。因此,我设置了默认的字体粗细和大小,然后绘制了带有x和y标签以及一些额外文本的基本轴。

import matplotlib.pyplot as plt

plt.style.use('default')

plt.rc('font', weight='bold', size=15)

fig, ax = plt.subplots(num=1, clear=True)

ax.set(xlabel='x-label', ylabel='y-label')
ax.text(0.2,0.4,'Text')

我希望文本的所有位都采用“粗体”字体粗细。刻度线标签和额外的文本位是,但x标签和y标签不是。他们体重正常。 Screen capture here.

x和y标签似乎获得了默认的字体名称和大小,但没有默认的粗细。

作为一种解决方法,我试图在'axes'选项中设置默认字体粗细,但这似乎是不可能的。 “ axes.labelsize”影响x,y标签的字体大小,但是不能单独指定字体粗细。

因此,似乎字体大小是由x和y标签继承的,如果未通过axes.labelsize另行指定,则字体粗细不会被标签继承,也不能将其指定为默认值。请注意,字体名称的行为有所不同。它是由x,y标签继承的,但是'axes'选项中的默认值不能相同。

是否有逻辑,还是一个错误?

有解决方案吗?还是我必须直接将字体粗细设置到x标签和y标签对象上?

0 个答案:

没有答案