matplotlib,seaborn中文乱码问题

在windows下面,matplotlib画图中文会显示乱码,主要原因是matplotlib默认没有指定中文字体。有两种解决方案。在画图的时候指定字体import matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesfont = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)plt.plot([1,2,3])plt.title(u"测试",fontproperties=font)

测试中文字符.png这种方法比较麻烦,每次画图的时候,都要指定字体位置。下面介绍一种一劳永逸的方法。修改配置文件将C:\Windows\Fonts 下面的字体 simsun.ttf,微软雅黑字体 拷贝到D:\Programs\Anaconda\Lib\site-packages\matplotlib\mpl-data\fonts\ttf 文件夹下。(Anaconda文件夹和安装位置有关)用记事本打开D:\Programs\Anaconda\Lib\site-packages\matplotlib\mpl-data\matplotlibrc找到如下两行:#font.family : sans-serif#font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif去掉这两行前面的#,并且在font.sans-serif的冒号后面加上SimHei,结果如下所示font.family : sans-seriffont.sans-serif : SimHei,Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif重新启动python,matplotlib就可以输出中文字符了。seaborn字体问题上面的方法对于matplotlib是可以用的,但是如果引入了seaborn,就又会出现乱码,现在研究出来的方法是,在程序中加入以下代码import seaborn as snssns.set_style('whitegrid',{'font.sans-serif':['simhei','Arial']})mac os x系统的乱码问题import matplotlib.pyplot as pltimport seaborn as sns plt.rcParams['font.family'] = ['Arial Unicode MS'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号 sns.set_style('whitegrid',{'font.sans-serif':['Arial Unicode MS','Arial']})

(0)

相关推荐

  • python如何设置中文界面

    python设置中文界面的办法:起首找到windows10中文字体所正在文件夹[C:/Windows/Fonts/]:而后正在代码后面加之相干代码[import matplotlib.pyplot a ...

  • 相信我,这篇文章一定能让你的matplotlib完美显示中文!

    大家好,我是早起. 在使用matplotlib进行可视化时,一个令人头疼的问题就是如何正确的显示中文,有时你百度后各种尝试,可能遇到中文还是显示一堆无效的框框,那么本文就将提供三种解决办法,希望能够帮 ...

  • python seaborn绘图中文乱码问题的解决

    题描述: 解决办法:import seaborn as sns#通过下面这行解决中文乱码问题sns.set_style('whitegrid',{'font.sans-serif':['simhei' ...

  • SAP UI5 应用的中文乱码问题

    如下图所示: 我使用 sap-language=ZH 的 url 参数,试图访问我 SAP UI5 应用的中文版时,发现标题显示为乱码: https://er9.wdf.sap.corp:44300/ ...

  • python笔记5-python2写csv文件中文乱码问题

    前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的. 对 ...

  • jmeter压测学习14-jmeter返回内容中文乱码问题

    前言 在使用 jmeter 测试的时候,有些 html 页面返回的中文内容显示乱码,导致无法正常查看中文的内容 乱码场景 在打开百度页面时,返回的html内容中文显示乱码,如下图所示 出现乱码的原因, ...

  • (7条消息) 彻底解决Qt中文乱码以及汉字编码的问题(UTF

    尊重作者,支持原创,如需转载,请附上原地址:https://blog.csdn.net/libaineu2004/article/details/19245205 这篇文章有点长,内容有点多,如果时间 ...

  • C语言-解决Windows cmd utf8中文乱码

    在Windows中使用C语言开发程序时,当需要使用printf打印一些中文字符时,发现终端输出的字符竟然是乱码的(我的C语言源文件的编码格式是UTF-8),后来查了下这个问题出现的原因,然后顺利的解决 ...

  • Ubuntu的中文乱码问题

    目标:使系统/服务器支持中文,能够正常显示. 1.首先,安装中文支持包language-pack-zh-hans: $ sudo apt-get install language-pack-zh-ha ...

  • [C++]ifstream和getline获取中文乱码解决方案

    读取Ini文件的类踩了一个坑,当配置文件有中文参数时候,没法正确读取.读到的全是乱码.查询了很久才发现ifstream本身就无法正常读取包含中文路径的文本(具体的解决方案就不细说了网上一堆).这里主要 ...

  • .Net Core 读取文件中文乱码

    首先,要知道.Net Core和.Net Framework两个环境下很多东西是不同的,接下来要说的这个就是其中一个. Encoding.Default,在  .NET Framework 中,Def ...