python matplotlib.plot画图显示中文乱码的问题

在matplotlib.plot生成的统计图表中,中文总是无法正常显示。在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,有时候图例的字体也无法改正。

原因:matplotlib默认字体并不是中文字体。

解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为 微软雅黑 。

环境:win7 x64, python2.7

过程:

  1. 在python的安装目录中找到配置文件:%Python_Home%\Lib\site-packages\matplotlib\mpl-data\matplotlibrc    (如,我的是在D:\Python32\Lib\site-packages\matplotlib\mpl-data),用任意文本编辑器打开。(最好先备份一下)
  2. 找到第129行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei
  3. 找到第141行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)
  4. 为保险其间,到C:\Windows\Fonts\中找到 微软雅黑对应的字体文件msyh.ttf,将其复制到D:\Python32\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\目录下
  5. 将软件关闭后重新打开,运行程序,显示正常。
时间: 2024-10-22 08:09:28

python matplotlib.plot画图显示中文乱码的问题的相关文章

ubuntu 16.04 + python + matplotlib下画图显示中文设置

一.需求 因为在python画图显示的时候,经常需要展示一些中文,但是ubuntu系统下按照默认安装方式安装的时候,一般是不能显示中文的,当强行给legend.xlabel.ylabel赋予中文的时候,会显示为方块 二.参考 http://blog.csdn.net/onepiece_dn/article/details/46239581 三.配置方法 (1)  显示本机的同时可用的中文和西文字体 def dispFonts(): #显示可用的中文字体,同时支持英文的 from matplotl

XShell连接 Linux系统,显示中文乱码

摘要: Linux系统,中文显示乱码 XShell是一个强大的安全终端模拟软件,它支持SSH1, SSH2及 Microsoft Windows平台的Telnet NetSarang Xshell 4 Build 0120协议.使用Xshell可以快速方便的管理Linux主机. 我们在使用时,可能会遇到Linux下显示中文乱码的情况,一下为解决方法. 输入 df -h查看系统容量时,显示如下: 查看语言包支持的语言类型,如下所示: 可知,Linux系统本身不支持UTF-8编码格式.此时,需要修改

转:eclipse里面显示中文乱码

显示中文会变成乱码解决方案:Windows- >Pereferences- >General->Workspace- >Text   File   Encoding   选项下选择other,然后输入"GBK"即可当然你系统安装了东亚字体的支持才行,控制面板-区域选项里安装. 转:eclipse里面显示中文乱码,布布扣,bubuko.com

Phantomjs 在cmd命令行显示中文乱码

cmd命令行窗口显示中文乱码,多是因为cmd命令行窗口字符编码不匹配导致. 修改cmd窗口字符编码为UTF-8,命令行中执行:chcp 65001 切换回中文:chcp 936 一般情况下 命令行中执行:chcp 65001后

navicat for mysql 显示中文乱码解决办法

navicat for mysql 显示中文乱码解决办法   最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题就的寻求解决之道,百度了好长时间也没解决,网上那些解决办法都不 适合我的问题,网上的大多数解决方法是在navicat里右击一个连接,选择连接属性,切换到高级选项卡,去掉“使用mysql字符集”前的对勾,在编码 里选择utf-8,这种方法对于部分问题可能适合,但是我的乱码问题依然存在,于是乎我又将ut

SSH 显示中文乱码

试了N多方法,貌似在终端执行命令: export LC_ALL=zh_CN.GB2312;export LANG=zh_CN.GB2312是最有效的. ======================= 1.不管用那种ssh客户端,字体设定一定要设为可以显示中文的字体. 2.远程的locale一定要设置为LANG=zh_CN.UTF-8 ======================================== 修改/etc/profile 增加这一行 export LC_ALL=zh_CN.

JUCE 界面库显示中文乱码问题

JUCE 界面库显示中文乱码问题 环境: Windows7 64位 旗舰版 Visual Studio Ultimate 2012 JUCE 4.1 问题描述: 直接使用juce::String存储中文(String str="中文"),运行过程中报错,提示需要指定具体的编码类型,由于CharPointer_ASCII只能处理编码在127以下的字符,所以CharPointer_ASCII不能处理中文,而使用CharPointer_UTF8将UTF8编码的字符串转给String,但是显示

Linux中vi显示中文乱码的问题

由于在windows下默认是gb编码,而我的vim默认是utf-8(gedit默认也是utf-8),所以打开会成乱码.修改了一下配置文件,使vi支持gb编码就好了.$vi ~/.vimrclet &termencoding=&encodingset fileencodings=utf-8,gbk$:wq再次打开vi,显示就正常了.vim中编辑不同编码的文件时需要注意的一些地方此文讲解的是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim.

cuteftp 9 显示中文乱码

当用FTP连接空间时,中文命名的文件名会显示乱码,原来是编码设置错误.怎么修改呢? 修改方法如下: 选择. 工具--> 全局选项->传输: 1. 传输方法: ASCII 2. SFTP档案名称编码: ASCII 3. FTP档案名称编码: ASCII 如图所示: 之后,点击确定.OK,大功造成. cuteftp 9 显示中文乱码