matplotlib之轻松解决中文乱码的问题

 更新时间:2023年09月13日 10:05:13   作者:偶尔也吃鸡  
这篇文章主要介绍了matplotlib之轻松解决中文乱码的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

matplotlib解决中文乱码问题

python里matplotlib模块在画图方面用着十分爽,但是在图中不能显示中文,这里介绍一种十分简单的解决方法。

1. 在代码开始加入两行代码,即可成功解决。

#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题

2.效果展示

# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
x = np.linspace(-8, 8, 1024)
y1 = 0.618 * np.abs(x) - 0.8 * np.sqrt(64 - x ** 2)
y2 = 0.618 * np.abs(x) + 0.8 * np.sqrt(64 - x ** 2)
plt.plot(x, y1, color='r')
plt.plot(x, y2, color='r')
plt.title("爱你一万年")
plt.show()

3.代码加入前

4.代码加入后

5.注:以上为Windows下的方法,Mac下的解决方式 为:

plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']

Mac下matplotlib中文乱码的解决

初次用了中文运行,发现一直出现中文乱码情况,即使加上了前缀还是乱码。

参考了多方文章,最后解决。

建议如果有友友看过其他攻略,但还是不行的可以直接跳转步骤6。

解决办法

1.下载SimHei字体:http://www.fontpalace.com/font-details/SimHei/

2.运行以下代码,找到Matplotlib配置路径。

import matplotlib
matplotlib.matplotlib_fname()

我的得到的是:

 /Users/s/anaconda3/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc(这里每个人用户名后面会不一样,请自己灵活调整)

3.访问到此路径下,进入font/ttf/。

把步骤1下载的字体粘贴进去。

4.返回到步骤3的目录下,使用文本编辑器打开matplotlibrc(一般默认就是文本编辑器,不确定的可以右键查看打开方式)。

 5.command+F 查找font.family: sans-serif,去掉前面的注释符#;

继续查font.sans-serif : ,在DejaVu Sans前添加SimHei

最后查找axes.unicode_minus,去掉注释并将值设置为False

6.(很重要!!)运行以下代码:

from matplotlib.font_manager import _rebuild
_rebuild() 

测试

import matplotlib.pyplot as plt
import numpy as np
x = np.array(["小杨", "小羊", "美女小杨", "美女小羊不失眠"])
y = np.array([12, 22, 6, 18])
plt.barh(x,y)
plt.show()

成功!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中*args和**kwargs的区别详解

    Python中*args和**kwargs的区别详解

    这篇文章主要介绍了Python中*args和**kwargs的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 一文带你掌握Python中pathlib模块的用法

    一文带你掌握Python中pathlib模块的用法

    pathlib 模块提供了表示文件系统路径的类,可适用于不同的操作系统,本文将带你学习如何使用 pathlib 模块中的 Path 类读写文件、操纵文件路径等操作,需要的可以参考下
    2023-08-08
  • Python密码学ROT13算法教程

    Python密码学ROT13算法教程

    这篇文章主要为大家介绍了Python密码学ROT13算法的教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python函数必须先定义,后调用说明(函数调用函数例外)

    Python函数必须先定义,后调用说明(函数调用函数例外)

    这篇文章主要介绍了Python函数必须先定义,后调用说明(函数调用函数例外),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python在Windows下安装setuptools(easy_install工具)步骤详解

    python在Windows下安装setuptools(easy_install工具)步骤详解

    这篇文章主要介绍了python在Windows下安装setuptools(easy_install工具)步骤,简单介绍了setuptools并分析了其安装步骤与所涉及的相关软件,需要的朋友可以参考下
    2016-07-07
  • Python基于pygame实现单机版五子棋对战

    Python基于pygame实现单机版五子棋对战

    这篇文章主要为大家详细介绍了Python基于pygame实现单机版五子棋对战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • Python中的程序流程控制语句

    Python中的程序流程控制语句

    这篇文章主要介绍了Python中的程序流程控制语句,本篇博客将会讲述一下Python语言中的流程控制语句,在高中我们数学中学过程序流程题,下面我们来看看python中得流程语句会是怎么样呢,需要的小伙伴可以参考一下
    2022-02-02
  • 详解Python中for循环是如何工作的

    详解Python中for循环是如何工作的

    如果你对python中的for循环不是很清楚,那么建议你看看这篇文章,本文主要给大家介绍了关于Python中for循环是如何工作的相关资料,介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • 使用pyinstaller逆向.pyc文件

    使用pyinstaller逆向.pyc文件

    这篇文章主要介绍了使用pyinstaller逆向.pyc文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 为什么说python适合写爬虫

    为什么说python适合写爬虫

    在本文中,小编给读者们整理的一篇关于分析为什么说python适合写爬虫的语言的相关内容,有兴趣的朋友们可以学习下。
    2020-06-06

最新评论