# python3.6
matplotlib==3.3.4
fc-list :lang=zh
如果有您想使用的字体,请直接跳到第四步(貌似不需要了,直接跳到第五步,待验证),若无接着第三步
windows10字体默认文件夹为C:/Windows/Fonts
将您想使用的中文字体copy至Linux任意位置(暂放)
在Linux下创建chinese(用户自定义)文件夹,copy字体
cd /usr/share/fonts/
sudo mkdir chinese
sudo cp simsun.ttc /usr/share/fonts/chinese/
chmod -R 755 /usr/share/fonts/chinese
建立字体索引信息,更新字体缓存
mkfontscale
mkfontdir
fc-cache
配置字体,在fonts.conf中加入红框内容
sudo vi /etc/fonts/fonts.conf
fc-cache
运行如下python代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @File : __init__.py
# @Author : LiuYan
# @Time : 2021/12/2 17:21
import matplotlib
print(matplotlib.matplotlib_fname())
输出为:
/home/zzsn/anaconda3/envs/yan@py36/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
vi /home/zzsn/anaconda3/envs/yan@py36/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
rm -rf ~/.cache/
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @File : utils
# @Author : LiuYan
# @Time : 2021/11/9 16:50
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import rcParams
# for chinese show
# 1. 中英文统一: 中文格式
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['SimSun'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
# 2. 中文√ 英文: Latex
# config = {
# "font.family": 'serif',
# "mathtext.fontset": 'stix',
# "font.serif": ['SimSun'],
# }
# rcParams.update(config)
# 3. error
# mpl.use('pgf')
# pgf_config = {
# "font.family": 'serif',
# "mathtext.fontset": 'stix',
# "pgf.rcfonts": False,
# "text.usetex": True,
# "pgf.preamble": [
# r"\usepackage{unicode-math}",
# r"\setmainfont{Times New Roman}",
# r"\usepackage{xeCJK}",
# r"\xeCJKsetup{CJKmath=true}",
# r"\setCJKmainfont{SimSun}"
# ]
# }
# rcParams.update(pgf_config)
# Test -> plt
plt.title(r'宋体 Times New Roman')
plt.axis('off')
plt.savefig('usestix.png')
plt.show()
Over!大功告成!
至此,本文到此结束!
关于 “Linux下python matplotlib画图修改中文字体(小方块)” 已全部完成。
本文只做学习用途,无任何商业用途!
转载注明出处!祝各位学业有成!
大大怪爱小乖乖!
研哥哥