centos/ubuntu linux 下 python matplotlib 绘图中文标题乱码 解决
出现下图的错误:
测试代码:
每次换机器都遇到这个问题,所以记录下来,以免日后又在折腾
首先找到一个ttf格式的中文字体,windows系统的可以在C盘的system里面找找。
我用的是微软雅黑。msyh.ttf , 需要的可以到公众号里面取。 后台回复: msyh.ttf 即可
或者simhei.ttf
更新缓存
注意,如果你的系统没有上述命令,需要使用yum install mkfontscale mkfontdir c-cache安装
然后接下来这一步,很重要。
清理缓存,不然不会生效!!!!
matplotlib:
同时把这个msyh.ttf的文件复制到matplotlib库下的文件夹:
~python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/
下面
然后运行程序,搞定~
公众号:可转债量化分析
后台回复 : msyh.ttf 或者 simhei.ttf 即可获取字体文件。
测试代码:
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import rcParams
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['simhei'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False
plt.title(r'宋体 Times New Roman')
plt.axis('off')
plt.savefig('usestix.png')
每次换机器都遇到这个问题,所以记录下来,以免日后又在折腾
首先找到一个ttf格式的中文字体,windows系统的可以在C盘的system里面找找。
我用的是微软雅黑。msyh.ttf , 需要的可以到公众号里面取。 后台回复: msyh.ttf 即可
或者simhei.ttf
cd /usr/share/fonts/
sudo mkdir chinese
sudo cp simhei.ttf /usr/share/fonts/chinese/
sudo chmod -R 755 /usr/share/fonts/chinese
更新缓存
mkfontscale
mkfontdir
fc-cache
注意,如果你的系统没有上述命令,需要使用yum install mkfontscale mkfontdir c-cache安装
然后接下来这一步,很重要。
清理缓存,不然不会生效!!!!
rm -rf ~/.cache/matplotlib
matplotlib:
同时把这个msyh.ttf的文件复制到matplotlib库下的文件夹:
~python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/
下面
然后运行程序,搞定~
公众号:可转债量化分析
后台回复 : msyh.ttf 或者 simhei.ttf 即可获取字体文件。