Matplot中文乱码完美解决方式
一、改动matplotlibrc文件 (永久解决方式)
1. 定位matplotlibrc文件
该文件位于[python_install_dir]\Lib\site-packages\matplotlib\mpl-data文件夹下。
2. 改动matplotlibrc文件内容。
matplotlibrc文件部分内容例如以下:
font.family         : sans-serif        #默认情况下。该字段为关闭状态。去掉凝视就可以。
font.sans-serif     : Microsoft YaHei , Bitstream Vera Sans,
                      Lucida Grande, Verdana, Geneva, Lucid,
                      Arial, Helvetica, Avant Garde,
                      sans-serif        #加入"Microsoft YaHei"
在font.sans-serif中加入 Mircosoft YaHei 之后,matplot 通过  C:\Users\[your_account]\.matplotlib\fontList.cache 中存储的映射关系找到字体文件所在的位置。
fontList.cache 文件部分内容例如以下所看到的:
S'Microsoft YaHei
p147
sg16
I700
sg17
g13
sg18
g13
sg19
S'C:\\Windows\\Fonts\\msyhbd.ttf'
Microsoft YaHei字体默认的位置位于 C:\Windows\Fonts\ 文件夹下。
注意:假设第三步操作完之后仍不起作用,能够将 C:\Windows\Fonts\ 文件夹下的Microsoft YaHei字体文件复制到 [python_install_dir]\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\ 文件夹下
3. 重建字体索引列表。
matplotlib不会每次启动时都又一次扫描全部的字体文件并创建字体索引列表,因此在复制完字体文件之后。须要执行以下的语句以又一次创建字体索引列表 ,须要在console中执行以下代码:
>>>from matplotlib.font_manager import _rebuild`
>>>_rebuild()
二、在py文件里显式载入字体 (暂时解决方式)
1. 显示载入matplotlib的字体管理器,代码例如以下:
    # 载入自己定义字体
    # fname 为字体文件路径
    import matplotlib
    myfont = matplotlib.font_manager.FontProperties(fname=r'C:/Windows/Fonts/msyh.ttf')
     ...
    # 在须要显示汉字的地方,指定自己定义字体就可以
    plt.xlabel(u'汉字',  fontproperties=myfont)
    plt.xlabel(u'汉字',  fontproperties=myfont)
    ...
參考文献 
http://hyry.dip.jp/tech/book/page/scipy/matplotlib_fast_plot.html#id6
Matplot中文乱码完美解决方式的更多相关文章
- js url传值中文乱码完美解决(JAVA)
		
js url传值中文乱码完美解决(JAVA) 首先在你的jsp页面这样更改: var url="你要传入的Action的位置&ipid="+ipid+"& ...
 - 近期在调用 calendar.js  的时候出现中文乱码!  解决方式
		
近期写一个小项目的时候:在调用 calendar.js 的时候出现中文乱码! 如图所看到的: 原因在于: 我的jsp 页面,指定的是 UTF-8 编码,然而,调用的 calendar.js 的编码确 ...
 - Java Web 开发中的中文乱码与解决方式
		
乱码产生的原因 不管是request乱码还是response乱码,其实都是由于客户端(浏览器)跟服务器端采用的编码格式不一致造成的.以request乱码为例:浏览器向服务器发送请求,因为浏览器与服务器 ...
 - jforum(2)--中文乱码的解决方式
		
安装好jforum后可能出现如下乱码页面: 解决方式 1.在建数据库时要用如下语句: CREATE DATABASE JForum DEFAULT CHARACTER SET utf8 COLLATE ...
 - jmeter笔记(3)--响应结果中文乱码的解决方式
		
1.举例 新建HTTP请求访问百度首页,响应结果如下: 2.原因 Jmeter安装目录/bin/jmeter.properties中sampleresult.default.encoding默认为IS ...
 - python测试报告输出 htmltestrunner 及 中文乱码的解决方式
		
下载HTMLTestRunner.py 第三方库 下载地址: python2:http://tungwaiyip.info/software/HTMLTestRunner.html 右键另存为下载HT ...
 - get方式请求会出现中文乱码。post方式不会。
		
get方式请求会出现中文乱码.post方式不会. 如果是要解决get方式中文乱码问题,就需要做一个拦截器,或者在web.xml做一个get请求的配置 来自为知笔记(Wiz)
 - JSP的学习(4)——中文乱码的解决
		
本篇将以JSP页面中可能存在的中文乱码问题进行分析和解决. 中文乱码的问题一直是国人在编程过程中的一大头疼问题,这点上在JSP.Servlet或Tomcat上随处可见.比如我们在写一个Servlet时 ...
 - 详解get请求和post请求参数中文乱码的解决办法
		
首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...
 
随机推荐
- ***Java多线程发展简史
			
http://blog.jobbole.com/28297/ 本文来自四火的博客(@RayChase),由@_Zhijun 推荐 这篇文章,大部分内容,是周五我做的一个关于如何进行Java多线程编程的 ...
 - HDU1395+快速幂
			
#include<stdio.h> int fast_pow( int a,int b,int mod ){ ; ){ == ){ res = res*a%mod; } a = a*a%m ...
 - loadrunner_analysis技巧_average 和 90% percent
			
“90% Percent Time” 表示90%的事务response time 都维持在某个值附近,不是 average response time * 90%; “Average Time” 平 ...
 - c++ 学习笔记   c++ 引用C库注意点:#ifdef __cplusplus 倒底是什么意思?
			
时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #en ...
 - ALT+数字,可输入汉字或拉丁字母 good
			
各种编码查询表:http://bm.kdd.cc/ 输入 ALT + 50385 就出 难 字了,原因是它的十六进制ANSI编码是C4D1=50385 同理: 汉=BABA=47802字=D7D6=5 ...
 - Android 自定义对话框(Dialog)位置,大小
			
代码: package angel.devil; import android.app.Activity; import android.app.Dialog; import android.os.B ...
 - restful理解
			
越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency).高 ...
 - html5 动画精灵
			
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...
 - Spring AOP实现方式三之自动扫描注入【附源码】
			
注解AOP实现 这里唯一不同的就是application 里面 不需要配置每个bean都需要配置了,直接自动扫描 注册,主要知识点是怎么通过配置文件得到bean, 注意类前面的@注解. 源码结构: ...
 - 手势识别官方教程(6)识别拖拽手势用GestureDetector.SimpleOnGestureListener和onTouchEvent
			
三种现实drag方式 1,在3.0以后可以直接用 View.OnDragListener (在onTouchEvent中调用某个view的startDrag()) 2,onTouchEvent() ...