在jupyter使用matplotlib绘图时,虽然使用了如下设置,但仍然出现了中文乱码。
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus']=False
记录一下解决办法:
- 首先,在C:\Windows\Fonts目录下查找SimHei字体是否存在,注意SimHei是常规黑体,可以通过在某字体上右键选属性查看字体名称。
- 复制该字体文件,到anaconda的字体库目录
- 重新加载字体库
from matplotlib.font_manager import _rebuild
_rebuild()
- jupyter中Kernel重启
- 重新运行代码,汉字正常显示。
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)