广告
返回顶部
首页 > 资讯 > 精选 >Matplotlib中文乱码怎么解决
  • 204
分享到

Matplotlib中文乱码怎么解决

2023-07-02 16:07:46 204人浏览 安东尼
摘要

这篇文章主要介绍了Matplotlib中文乱码怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Matplotlib中文乱码怎么解决文章都会有所收获,下面我们一起来看看吧。Matplotlib中文乱码当不对

这篇文章主要介绍了Matplotlib中文乱码怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Matplotlib中文乱码怎么解决文章都会有所收获,下面我们一起来看看吧。

Matplotlib中文乱码

当不对 Matplotlib 进行设置,而直接使用中文时,绘制的图像会出现中文乱码。下面是一个含有中文乱码的折线图:

Matplotlib中文乱码怎么解决

从上图可以看出,本应该显示在红框内的中文字体没有显示出来(红框是自己标注出来的),下面给出了两种解决方案:第一种是临时解决方案,第二种是一劳永逸的解决方案。

重写配置文件

通过临时重写配置文件的方法,可以解决 Matplotlib 显示中文乱码的问题,代码如下所示:

import matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"] #设置字体plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题

将上述代码添加到您的绘图程序中,即可解决中文乱码的问题。这是一种非常灵活、便捷的解决方法。完整的程序代码如下:

#绘制折线图import matplotlib.pyplot as pltplt.rcParams["font.sans-serif"]=["SimHei"] #设置字体plt.rcParams["axes.unicode_minus"]=False #正常显示负号year = [2017, 2018, 2019, 2020]people = [20, 40, 60, 70]#生成图表plt.plot(year, people)plt.xlabel('年份')plt.ylabel('人口')plt.title('人口增长')#设置纵坐标刻度plt.yticks([0, 20, 40, 60, 80])#设置填充选项:参数分别对应横坐标,纵坐标,纵坐标填充起始值,填充颜色plt.fill_between(year, people, 20, color = 'green')#显示图表plt.show()

输出结果如下:

Matplotlib中文乱码怎么解决

不过上述解决方案适用于所有操作系统,其唯一弊端是每编写一个绘图程序就要添加一次相同的代码。

修改配置文件

下面介绍第二种方式:通过直接修改配置文件的方法,可以一劳永逸的解决 Matplotlib 的中文乱码问题。注意此过程在 windows 环境下进行。

Matplotlib 从配置文件 matplotlibrc 中读取相关配置信息,比如字体、样式等,因此我们需要对该配置文件进行更改。首先查看 matplotlibrc 所在的目录,使用如下代码确定目录位置:

import matplotlibmatplotlib.matplotlib_fname()

输出结果:

D:\python\python37\lib\site-packages\matplotlib\mpl-data\matplotlibrc

然后修改配置文件 matplotlibrc。打开配置文件后,找到以下信息:

#font.family: sans-serif
#font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif

将上述配置项前面的#去掉,并修改的配置项,如下所示:

font.family   :  Microsoft YaHei, sans-seriffont.serif: Microsoft YaHei, DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif

注意,由于版本问题,上述内容配置信息可能存在一些差异,请自动忽略。

最后,在以下目录中复制中文字体微软雅黑:

C:\Windows\Fonts\Microsoft YaHei UI

复制完成后,将字体粘贴至以下路径文件中:

D:\Python\python37\lib\site-packages\matplotlib\mpl-data\fonts\ttf

字体粘贴后会出现一个 MSYH.ttc 的字体文件,如下所示:

Matplotlib中文乱码怎么解决

编写如下代码进行测试

import matplotlib.pyplot as pltimport numpy as npx = 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("测试",fontsize=20,color="b")plt.show()

如果你对自己编写的程序没有强烈的“洁癖”,可以接受重复的代码,那么建议您选择第一种解决方法,因为这种方法灵活、轻便。当然您也可以选择第二种方式,一劳永逸的解决中文乱码问题。

关于“Matplotlib中文乱码怎么解决”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Matplotlib中文乱码怎么解决”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Matplotlib中文乱码怎么解决

本文链接: https://www.lsjlt.com/news/343287.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Matplotlib中文乱码怎么解决
    这篇文章主要介绍了Matplotlib中文乱码怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Matplotlib中文乱码怎么解决文章都会有所收获,下面我们一起来看看吧。Matplotlib中文乱码当不对...
    99+
    2023-07-02
  • 解决「matplotlib 图例中文乱码
    在学习用 matplotlib 画图时遇到了中文显示乱码的问题,在网上找了很多需要修改配置的方法,个人还是喜欢在代码里修改。   解决方法如下: 在第2、3行代码中加上所示代码即可。 import matplotlib.pyplot a...
    99+
    2023-01-30
    乱码 中文 图例
  • Python中matplotlib中文乱码解决办法
    Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码。 matplotlib绘制图像有中文标注时会有乱码问题。...
    99+
    2022-06-04
    乱码 解决办法 中文
  • Matplotlib中文乱码的两种详细解决方案
    目录前言Matplotlib中文乱码重写配置文件修改配置文件总结前言 Matplotlib 默认不支持中文字体,这因为 Matplotlib 只支持 ASCII 字符,但中文标注更加...
    99+
    2022-11-11
  • J2EE中文乱码怎么解决
    这篇文章主要介绍了J2EE中文乱码怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇J2EE中文乱码怎么解决文章都会有所收获,下面我们一起来看看吧。import java.io.IOException;im...
    99+
    2023-06-03
  • devc++中文乱码怎么解决
    devc++中文乱码解决方法:1、检查文件编码方式;2、设置devc的字符编码方式;3、使用转码工具;4、使用专业的文本编辑器;5、修改devc的配置文件。devc是一款非常流行的C语言集成开发环境(IDE),但有时候在使用过程中,可能会遇...
    99+
    2023-08-04
  • AJAX中文乱码怎么解决
    本篇内容介绍了“AJAX中文乱码怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!复制代码 代码如下:...
    99+
    2022-10-19
  • php中文乱码怎么解决
    1、设置字符集在PHP文件中添加以下代码,设置字符集为UTF-8。header('Content-Type:text/htm...
    99+
    2023-05-13
    php中文乱码 php
  • c++中文乱码怎么解决
    C++中文乱码一般是由于编码方式不一致导致的,解决方法如下:1. 确认编码方式首先要确认输入输出文件的编码方式,比如Windows下...
    99+
    2023-05-29
    c++中文乱码 c++
  • Linux怎么解决中文乱码
    这篇“Linux怎么解决中文乱码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux怎么解决中文乱码”文章吧。检查系统编...
    99+
    2023-06-28
  • ubuntu中文乱码怎么解决
    这篇文章主要介绍“ubuntu中文乱码怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ubuntu中文乱码怎么解决”文章能帮助大家解决问题。先输入locale -a,查看一下现在已安装的语言若...
    99+
    2023-07-04
  • github中文乱码怎么解决
    这篇文章主要介绍“github中文乱码怎么解决”,在日常操作中,相信很多人在github中文乱码怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”github中文乱码怎么解决”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • java中中文乱码怎么解决?
    java中中文乱码解决方法:一、设置工作空间的编码编辑器的编码会影响到所有的项目中的字符的显示,可以说是作用最为广泛的设置,每一个项目都会受到这个设置的影响。点击菜单栏中的窗口(Window)— —选项(Preferences)。点击常规(...
    99+
    2022-01-09
    java
  • php bom中文乱码怎么解决
    本篇内容主要讲解“php bom中文乱码怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php bom中文乱码怎么解决”吧!php bom中文乱码的解决办法:1、打开相应的PHP开发文件;...
    99+
    2023-06-21
  • nodejs json中文乱码怎么解决
    本篇内容介绍了“nodejs json中文乱码怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • PHP+MYSQL中文乱码怎么解决
    这篇文章主要讲解了“PHP+MYSQL中文乱码怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP+MYSQL中文乱码怎么解决”吧! 在 cons...
    99+
    2022-10-18
  • nodejs 中文就乱码怎么解决
    Node.js 已经成为了很多人在项目开发中的首选,特别是在前端开发的过程中,使用 Node.js 带来了更高效、更灵活的开发方式。不过,有些开发者在使用 Node.js 时会遇到中文乱码的问题,这给正常的开发工作带来了很大的麻烦。今天,我...
    99+
    2023-05-14
  • springboot properties中文乱码怎么解决
    在Spring Boot中,可以通过以下方式解决properties文件中文乱码的问题: 确保properties文件是以UTF...
    99+
    2023-10-25
    springboot
  • 怎么解决python pdfkit 中文乱码
    这篇文章主要介绍“怎么解决python pdfkit 中文乱码”,在日常操作中,相信很多人在怎么解决python pdfkit 中文乱码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么解决python pd...
    99+
    2023-06-07
  • PHP mysqli中文乱码怎么解决
    这篇文章主要讲解了“PHP mysqli中文乱码怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP mysqli中文乱码怎么解决”吧!PHP mysqli中文乱码的解决办法:1、检...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作