matplotlib 中文配置

matplotlib的中文配置

# 1.matplotlib添加中文的配置
workon py3_spider

# 2.卸载matplotlib
pip3 uninstall matplotlib

# 3.重新安装
pip3 install matplotlib

# 4.打印python虚拟环境的matplotlib的文件配置位置
import matplotlib
print(matplotlib.matplotlib_fname())

# 5.下载simher字体文件
https://fontzone.net/download/simhei

# 6.添加simhei到字体文件夹
cp ./simhei /mpl-data/fonts/ttf
字体文件夹
# 7.修改matplotlibrc的配置文件 (去掉3行注释, 添加SimHei字体)
font.family         : sans-serif        
font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif   
axes.unicode_minus : False #解决负号'-'显示为方块的问题

# 8.删除家目录下的matplotlib缓存文件
rm -r ~/.cache/matplotlib

# 9.中文显示
显示中文
# -*- coding:utf-8 -*-

import random
import numpy as np
from matplotlib import pyplot as plt

# 创建一个画板
plt.figure(figsize=(20, 8), dpi=100)
plt.title('显示中文')

# 随机数据
x = range(0, 60)

# 生成随机小数,对应与x轴的点
y = [random.uniform(15, 18) for i in range(0, 60)]

# 中文字符串拼接
x_name = ['11点{}分'.format(i) for i in range(0, 60)]

# 在折现图, 填充x,y坐标的值
plt.plot(x, y)

# 图的名称, 标签, 美化过程, 在plt.show之前使用
plt.xticks(x[::5], x_name[::5])  # 当使用数字以为的刻度注释时, 需要有列表数字将,注释一一对应, 字符串注释不能作为刻度列表的长度
plt.yticks(range(0, 45)[::5])    # 刻度值的接受一个列表, 间隔值为步长值

# 显示整个figure对象
plt.show()

你可能感兴趣的:(matplotlib 中文配置)