前言
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