matplotlib画图中文乱码问题

在jupyter使用matplotlib绘图时,虽然使用了如下设置,但仍然出现了中文乱码。

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False

matplotlib画图中文乱码问题_第1张图片
记录一下解决办法:

  1. 首先,在C:\Windows\Fonts目录下查找SimHei字体是否存在,注意SimHei是常规黑体,可以通过在某字体上右键选属性查看字体名称。
    matplotlib画图中文乱码问题_第2张图片
  2. 复制该字体文件,到anaconda的字体库目录
    matplotlib画图中文乱码问题_第3张图片
  3. 重新加载字体库
from matplotlib.font_manager import _rebuild
_rebuild()
  1. jupyter中Kernel重启
    matplotlib画图中文乱码问题_第4张图片
  2. 重新运行代码,汉字正常显示。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif'] = ['SimHei']
data = np.random.randn(100)
df = pd.DataFrame({'长度':data }) 
df.plot.hist(bins=20)

matplotlib画图中文乱码问题_第5张图片

你可能感兴趣的:(matplotlib,python)