如何更改 matplotlib 绘图上的字体大小

2022-09-05 01:21:05

如何更改 matplotlib 图上所有元素(刻度、标签、标题)的字体大小?

我知道如何更改刻度标签大小,这是通过以下方式完成的:

import matplotlib 
matplotlib.rc('xtick', labelsize=20) 
matplotlib.rc('ytick', labelsize=20) 

但是,如何改变其余的呢?


答案 1

matplotlib 文档中

font = {'family' : 'normal',
        'weight' : 'bold',
        'size'   : 22}

matplotlib.rc('font', **font)

这会将所有项的字体设置为 kwargs 对象 指定的字体。font

或者,您也可以按照以下答案中的建议使用该方法:rcParamsupdate

matplotlib.rcParams.update({'font.size': 22})

import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 22})

您可以在定制 matplotlib 页面上找到可用属性的完整列表。


答案 2

如果你是像我这样的控制狂,你可能想明确设置你的所有字体大小:

import matplotlib.pyplot as plt

SMALL_SIZE = 8
MEDIUM_SIZE = 10
BIGGER_SIZE = 12

plt.rc('font', size=SMALL_SIZE)          # controls default text sizes
plt.rc('axes', titlesize=SMALL_SIZE)     # fontsize of the axes title
plt.rc('axes', labelsize=MEDIUM_SIZE)    # fontsize of the x and y labels
plt.rc('xtick', labelsize=SMALL_SIZE)    # fontsize of the tick labels
plt.rc('ytick', labelsize=SMALL_SIZE)    # fontsize of the tick labels
plt.rc('legend', fontsize=SMALL_SIZE)    # legend fontsize
plt.rc('figure', titlesize=BIGGER_SIZE)  # fontsize of the figure title

请注意,您还可以在 上设置调用该方法的大小:rcmatplotlib

import matplotlib

SMALL_SIZE = 8
matplotlib.rc('font', size=SMALL_SIZE)
matplotlib.rc('axes', titlesize=SMALL_SIZE)

# and so on ...