python3集成matplotlib画图中文乱码的解决方法

不点 阅读:673 2021-03-31 12:46:02 评论:0

问题描述

在python中使用matplotlib画图,里面的中文会显示乱码方块。

解决方法前提依赖

这是由于matplotlib默认使用的字体中不包含中文字符引起的,可以通过将中文字符加入到默认字体中解决。

前提:查找本地都有哪些中文字体

打开matplotlib字体,默认为C:\Users\用户名\.matplotlib,打开fontList.json,查找中文字体如simHei,song,kai等,分别对应简体黑、宋体、楷体等。

查找到之后,其对应的name字段值即为我们接下来将要设置的中文字体名,复制下来,比如仿宋字体FangSong

 解决方法:

import matplotlib 
print(matplotlib.matplotlib_fname()) 

会输出配置文件路径,如:

E:\python_workspace\TornadoDemo\venv\Lib\site-packages\matplotlib\mpl-data\matplotlibrc

打开此文件,找到#font.family这一行,并将这行的注释#去掉,并在其后添加自己想加入的中文字体名,如:

Python3 + matplotlib 绘制带汉字散点图:

import matplotlib.pyplot as plt 
 
 
# 定义x集合和y集合 
x = [1, 2] 
y = [3, 4] 
# 绘制散点图,并指定标签 
plt.scatter(x, y, label='标签') 
# 绘制图像添加标题 
plt.title('散点图') 
# 绘制坐标轴 
plt.xlabel('x轴') 
plt.ylabel('y轴') 
# 绘制图像显示 
plt.show()

标签:Python
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号