4-02-1 Matplotlib 中文化

Matplotlib 中文化

但是这样的画面并不适合中文使用者,所以接下来试着将标题与标签输入中文,步骤如下
步骤 1. 下载需要的字体文件:以黑体(SimHei)为例,下载对应的字体文件 SimHei.ttf ,可以试着找自己电脑内是否有这个字体。

步骤 2. 将下载的字体文件放到指定目录下:执行以下代码,获取字体文件路径信息,每个人会根据自己的安装环境不同,而有所不同。

import matplotlib    
print(matplotlib.matplotlib_fname())
  
输出结果如下:
C:\Users\user\AppData\Roaming\Python\Python37\site-packages\matplotlib\mpl-data\matplotlibrc

接着将 SimHei.ttf 复制到 C:\Users\user\AppData\Roaming\Python\Python37\site-packages\matplotlib\mpl-data\fonts\ttf 文件目录

步骤 3. 删除 matplotlib 的缓冲目录:执行以下代码,获取缓冲目录路径信息 (C:\Users\user.matplotlib),直接手动删除。

import matplotlib    
print(matplotlib.get_cachedir())
  
输出结果如下:
C:\Users\user\.matplotlib

步骤 4. 根据步骤 2 所得到的 matplotlib 启动组态设定,去修改该文件 matplotlibrc,修改配置如下

# 去掉前面的 # 号
font.family         : sans-serif   
  
# 去掉前面的 # 号,并在冒号后面添加 SimHei   
font.sans-serif     : SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif  
  
# 3.去掉前面的 # 号,并将True改为False,解决保存图像是负号'-'显示为方块的问题
axes.unicode_minus  : False

步骤 5. 重启 Visual Studio Code 中 Jupyter NoteBook 的 Python Kernel,好重新读取 Python 组态。

以下实例演示两个子图,一个为英文,一个为中文提示

import matplotlib.pyplot as plt
import numpy as np
  
# 创建一个 figure 对象,相当于一个空白的画布
figure = plt.figure()
  
# 在画布上添加一个坐标系,画布内有 2 x 1 个子图,回传第一个子图
axes1 = figure.add_subplot(2, 1, 1)
axes2 = figure.add_subplot(2, 1, 2)
  
# 准备画图的数据
x = [1, 2, 3, 4, 5, 6, 7]
y = [21, 27, 29, 32, 29, 28, 35]
  
# 设置画布的基本元素
axes1.set_xlabel('x label')
axes1.set_ylabel('y label')
axes1.set_title("title")
  
axes2.set_xlabel('星期日期')
axes2.set_ylabel('温度')
axes2.set_title("每周温度")
  
# 画图
plt.subplots_adjust(hspace=0.5) # hspace 用于控制高度的百分比,可以用作 subplot 之间垂直的间距
axes1.plot(x, y)
axes2.plot(x, y)

很明显的第二张图片对于使用者而言,相同的数据,但呈现出来的信息却截然不同。

在这里插入图片描述

图 4-2-3 具有中文的标题与标签的画布

Python数据处理-文章目录

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值