根据官方指南,不再建议使用pylab
。应直接使用matplotlib.pyplot
。rcParams
全局设置字体大小应该这样做:
import matplotlib.pyplot as plt
plt.rcParams['axes.labelsize'] = 16
plt.rcParams['axes.titlesize'] = 16
# or
params = {'axes.labelsize': 16,
'axes.titlesize': 16}
plt.rcParams.update(params)
# or
import matplotlib as mpl
mpl.rc('axes', labelsize=16, titlesize=16)
# or
axes = {'labelsize': 16,
'titlesize': 16}
mpl.rc('axes', **axes)
可以使用{{恢复默认值}}。
plt.rcParams.update(plt.rcParamsDefault)
你也可以通过在matplotlib配置目录的stylelib
目录中创建一个样式表来实现此操作(你可以通过matplotlib.get_configdir()
获取你的配置目录)。样式表的格式为
axes.labelsize: 16
axes.titlesize: 16
如果您在路径 /path/to/mpl_configdir/stylelib/mystyle.mplstyle
中有一个样式表,那么您可以通过以下方式使用它:
plt.style.use('mystyle')
# or, for a single section
with plt.style.context('mystyle'):
# ...
您还可以创建(或修改)一个matplotlibrc文件,其格式与其他Matplotlib配置文件相同。
axes.labelsize = 16
axes.titlesize = 16
根据您修改的matplotlibrc文件不同,这些更改将仅用于当前工作目录,对于所有没有matplotlibrc文件的工作目录,或者对于所有没有matplotlibrc文件且没有指定其他matplotlibrc文件的工作目录。有关详细信息,请参见自定义matplotlib页面的此部分。
可以通过plt.rcParams.keys()
检索完整的rcParams密钥列表,但是要调整字体大小,您可以(引用自此处)使用特定的参数。
axes.labelsize
- x轴和y轴标签的字体大小
axes.titlesize
- 坐标轴标题的字体大小
figure.titlesize
- 图表标题的字体大小(Figure.suptitle()
)
xtick.labelsize
- 刻度标签的字体大小
ytick.labelsize
- 刻度标签的字体大小
legend.fontsize
- 图例的字体大小(plt.legend()
,fig.legend()
)
legend.title_fontsize
- 图例标题的字体大小,None
将其设置为与默认轴相同。请参见this answer以获取使用示例。
所有这些都接受字符串大小{'xx-small','x-small','smaller','small','medium','large','larger','x-large','xxlarge'}
或以pt
为单位的float
。 字符串大小相对于由以下指定的默认字体大小定义
font.size
- 文本的默认字体大小,以点为单位。标准值为10pt
此外,可以指定字体的重量(仅适用于默认值)
font.weight
- text.Text
使用的字体的默认重量。接受{100, 200, 300, 400, 500, 600, 700, 800, 900}
或'normal'
(400),'bold'
(700),'lighter'
和'bolder'
(相对于当前重量)。
mpl.rcParams ['font.size']=20
并尝试将值更改为 10 和 14。首先,我发现除非我将“mpl”更改为“plt”,否则会出现错误。这种更改消除了错误,但是代码行对我的标题或标签没有任何影响。确定这个语法正确吗? - TMWP