import matplotlib as mpl import matplotlib.pyplot as plt zhfont1 = mpl.font_manager.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.TTF',size=50) zhfont2 = mpl.font_manager.FontProperties(fname=r'C:\Windows\Fonts\STCAIYUN.TTF',size=100) fig,ax1=plt.subplots() ax1.bar(["a","b","c"],[1,2,3]) ax1.set_ylabel(u'演示中文字体1',fontproperties=zhfont1) ax1.set_xlabel(u"演示华文彩云",fontproperties=zhfont2)
想学习更多可以自己查阅python帮助文件
help(mpl.font_manager.FontProperties)
Help on class FontProperties in module matplotlib.font_manager:
class FontProperties(builtins.object)
| FontProperties(family=None, style=None, variant=None, weight=None, stretch=None, size=None, fname=None)
相关链接:
https://www.pinggu.com/post/details/5f3ca5fa49796226c2293a80








## font props
'font.family': [['sans-serif'], validate_stringlist], # used by text object
'font.style': ['normal', validate_string],
'font.variant': ['normal', validate_string],
'font.stretch': ['normal', validate_string],
'font.weight': ['normal', validate_fontweight],
'font.size': [10, validate_float], # Base font size in points
'font.serif': [['DejaVu Serif', 'Bitstream Vera Serif',
'Computer Modern Roman',
'New Century Schoolbook', 'Century Schoolbook L',
'Utopia', 'ITC Bookman', 'Bookman',
'Nimbus Roman No9 L', 'Times New Roman',
'Times', 'Palatino', 'Charter', 'serif'],
validate_stringlist],
'font.sans-serif': [['DejaVu Sans', 'Bitstream Vera Sans',
'Computer Modern Sans Serif',
'Lucida Grande', 'Verdana', 'Geneva', 'Lucid',
'Arial', 'Helvetica', 'Avant Garde', 'sans-serif'],
validate_stringlist],
'font.cursive': [['Apple Chancery', 'Textile', 'Zapf Chancery',
'Sand', 'Script MT', 'Felipa', 'cursive'],
validate_stringlist],
'font.fantasy': [['Comic Neue', 'Comic Sans MS', 'Chicago', 'Charcoal',
'Impact', 'Western', 'Humor Sans', 'xkcd', 'fantasy'],
validate_stringlist],
'font.monospace': [['DejaVu Sans Mono', 'Bitstream Vera Sans Mono',
'Computer Modern Typewriter',
'Andale Mono', 'Nimbus Mono L', 'Courier New',
'Courier', 'Fixed', 'Terminal', 'monospace'],
validate_stringlist],
## font props 'font.family': [['sans-serif'], validate_stringlist], # used by text object 'font.style': ['normal', validate_string], 'font.variant': ['normal', validate_string], 'font.stretch': ['normal', validate_string], 'font.weight': ['normal', validate_fontweight], 'font.size': [10, validate_float], # Base font size in points 'font.serif': [['DejaVu Serif', 'Bitstream Vera Serif', 'Computer Modern Roman', 'New Century Schoolbook', 'Century Schoolbook L', 'Utopia', 'ITC Bookman', 'Bookman', 'Nimbus Roman No9 L', 'Times New Roman', 'Times', 'Palatino', 'Charter', 'serif'], validate_stringlist], 'font.sans-serif': [['DejaVu Sans', 'Bitstream Vera Sans', 'Computer Modern Sans Serif', 'Lucida Grande', 'Verdana', 'Geneva', 'Lucid', 'Arial', 'Helvetica', 'Avant Garde', 'sans-serif'], validate_stringlist], 'font.cursive': [['Apple Chancery', 'Textile', 'Zapf Chancery', 'Sand', 'Script MT', 'Felipa', 'cursive'], validate_stringlist], 'font.fantasy': [['Comic Neue', 'Comic Sans MS', 'Chicago', 'Charcoal', 'Impact', 'Western', 'Humor Sans', 'xkcd', 'fantasy'], validate_stringlist], 'font.monospace': [['DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Computer Modern Typewriter', 'Andale Mono', 'Nimbus Mono L', 'Courier New', 'Courier', 'Fixed', 'Terminal', 'monospace'], validate_stringlist],

命令:help(plt.rcParams)
Help on RcParams in module matplotlib object:
class RcParams(collections.abc.MutableMapping, builtins.dict)
| RcParams(*args, **kwargs)
|
| A dictionary object including validation.
|
| Validating functions are defined and associated with rc parameters in
| :mod:`matplotlib.rcsetup`.
然后打开下面的文件。
"C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\rcsetup.py"

还有个问题,我用这个代码
plt.rcParams['font.family'] = 'YaHei Consolas Hybrid'
出现下图的问题之后
再改回原来的代码运行,plt.rcParams['font.sans-serif'] = ['Simhei']
还是这个报错图片,字体也没出来,这是什么原因呢

plt.rcParams['font.family'] = 'YaHei Consolas Hybrid'
请问我这么写是哪里有问题吗,这么写出不来想要的字体,plt.rcParams函数应该怎么用呢