解决matplotlib绘图中文显示错误问题


前言

Python 采用 matplotlib 绘图出现中文显示错误的问题,主要原因是matplotlib 默认不支持中文显示,这里提供两种解决方法:


方法一:采用自带中文字体

Windows字体中英名对照
黑体 SimHei
仿宋 FangSong
楷体 KaiTi
微软雅黑 Microsoft YaHei
新宋体 NSimSun
标楷体 DFKai-SB
仿宋_GB2312 FangSong_GB2312
楷体_GB2312 KaiTi_GB2312

import matplotlib.pyplot as plt
from matplotlib import font_manager  # 导入字体管理模块

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y_a = [1.1, 2.1, 2.8, 3.5, 5.4, 6.1, 7, 7.5, 9, 10]  # 原始数据

plt.figure(figsize=(10, 8), dpi=100)  #
plt.title('标题', fontsize=15, fontproperties='FangSong')
plt.plot(x, y_a, color='r', marker='o', linestyle='', label='y_a')
plt.xlabel('x坐标', fontsize=14, fontproperties='FangSong')
plt.ylabel('y坐标', fontsize=14, fontproperties='FangSong')

plt.legend()  # 显示图例等信息
plt.show()

在这里插入图片描述

方法二:采用windows字体库(更多字体可选择)

windows 系统中有一些默认的字体库:C:/Windows/Fonts/STSONG.TTF
代码如下(示例):

import matplotlib.pyplot as plt
from matplotlib import font_manager  # 导入字体管理模块

x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y_a = [1.1, 2.1, 2.8, 3.5, 5.4, 6.1, 7, 7.5, 9, 10]  # 原始数据

my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/STSONG.TTF")

plt.figure(figsize=(10, 8), dpi=100)  #
plt.title('标题', fontsize=15, fontproperties=my_font)
plt.plot(x, y_a, color='r', marker='o', linestyle='', label='y_a')
plt.xlabel('x坐标', fontsize=14, fontproperties=my_font)
plt.ylabel('y坐标', fontsize=14, fontproperties=my_font)

plt.legend()  # 显示图例等信息
plt.show()

该处使用的url网络请求的数据。


总结

怎么用python画一张想要的图,可以参考:
[Python matplotlib作图实例,画一张想要的图片]
原文链接:https://blog.csdn.net/u014260618/article/details/124676649

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值