Matplotlib刻度标签的字体重量仅限于几个选项

时间:2019-01-08 03:19:07

标签: python matplotlib

请参见以下代码

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0.0001, 30, 1000)
y = np.sin(x)/x

fig, ax = plt.subplots(1, 1)
ax.plot(x, y)
ax.tick_params(which="major", labelsize=14, width=1.3)

for label in ax.get_xticklabels():
    label.set_fontweight(550) # If change to 551, label will be bold-like

根据here,参数可以是数字值或字符串。但是,我都测试了。标签字体权重似乎与[0,550]中的字体权重参数相同,在[551,1000]范围内变为粗体。另外,semiboldbold似乎具有相同的字体粗细。

我假定fontweight呈线性变化,但显然不是。任何人都可以解释为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

通常,字体仅具有有限数量的字体粗细,例如RegularMediumBold等。字体粗细不是无限的。

数值和有限字体粗细之间存在对应关系。有关更多详细信息,请参见here