解决python中画图时x,y轴名称出现中文乱码的问题

如下所示:

#-*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
#k与客户端处理时间的值之间的关系
x=range(2,51,2)
y1=[5.393128497232703, 9.57638681757734, 13.828038570286598, 17.88060602988053, 22.943959373243686, 26.892428234326893, 30.47858918562443, 34.60601930629202, 39.37536486605157, 44.707097894669666, 49.00997474201327, 53.05414464511094, 57.211619356802395, 61.20307126632874, 65.41988871060431, 69.69244104837131, 73.63465839518058, 78.46661240393595, 82.84478734120208, 86.80821629368924, 90.99962335403121, 94.58170993534843, 98.88147657656751, 102.69580224812181, 107.41566442865962]
y2=[9.663068261869904, 17.801700100864338, 27.31914851265208, 35.79629518468646, 45.13319613177378, 51.95947650254608, 61.117229577687205, 68.43660202517938, 76.67479156176297, 86.81101547918409, 94.77081046684226, 103.12392211919445, 111.47750030247012, 120.47252739391641, 128.45760835724428, 136.5147527961354, 144.73356574866335, 153.792165453029, 162.01950037025804, 170.3556925013953, 179.1485561956748, 186.67093179599007, 195.2194576982225, 205.29080271621825, 213.35460299616648]
p2=plt.plot(x,y2,label='NA',color='black',marker='d',linewidth=1,mec='black', mfc='orange')
p3=plt.plot(x,y1,label='DA',color='black',marker='o',linewidth=1,mec='black',mfc='g')
plt.xlabel('k')
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)
plt.ylabel(u'整个过程的时间消耗 (ms)',fontproperties=font_set)
plt.legend()
plt.show()

在3维画图时同样也遇到过这个问题,查找许多资料都是操作Lib包中的文件,感觉比较麻烦,于是就想出了一个特别无脑的操作,把想要表达的中文直接转ASCII码,直接上在线转码网址:http://tool.oschina.net/encode?type=3

#-*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
#k与客户端处理时间的值之间的关系
x=range(2,51,2)
y1=[5.393128497232703, 9.57638681757734, 13.828038570286598, 17.88060602988053, 22.943959373243686, 26.892428234326893, 30.47858918562443, 34.60601930629202, 39.37536486605157, 44.707097894669666, 49.00997474201327, 53.05414464511094, 57.211619356802395, 61.20307126632874, 65.41988871060431, 69.69244104837131, 73.63465839518058, 78.46661240393595, 82.84478734120208, 86.80821629368924, 90.99962335403121, 94.58170993534843, 98.88147657656751, 102.69580224812181, 107.41566442865962]
y2=[9.663068261869904, 17.801700100864338, 27.31914851265208, 35.79629518468646, 45.13319613177378, 51.95947650254608, 61.117229577687205, 68.43660202517938, 76.67479156176297, 86.81101547918409, 94.77081046684226, 103.12392211919445, 111.47750030247012, 120.47252739391641, 128.45760835724428, 136.5147527961354, 144.73356574866335, 153.792165453029, 162.01950037025804, 170.3556925013953, 179.1485561956748, 186.67093179599007, 195.2194576982225, 205.29080271621825, 213.35460299616648]
p2=plt.plot(x,y2,label='NA',color='black',marker='d',linewidth=1,mec='black', mfc='orange')
p3=plt.plot(x,y1,label='DA',color='black',marker='o',linewidth=1,mec='black',mfc='g')
plt.xlabel('k')
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)
plt.ylabel(u'\u6574\u4e2a\u8fc7\u7a0b\u7684\u65f6\u95f4\u6d88\u8017 (ms)',fontproperties=font_set)
plt.legend()
plt.show()

以上这篇解决python中画图时x,y轴名称出现中文乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Python中matplotlib中文乱码解决办法

    Matplotlib是Python的一个很好的绘图包,但是其本身并不支持中文(貌似其默认配置中没有中文字体),所以如果绘图中出现了中文,就会出现乱码. matplotlib绘制图像有中文标注时会有乱码问题. 实例代码: import matplotlib import matplotlib.pyplot as plt #定义文本框和箭头格式 decisionNode =dict(boxstyle="sawtooth",fc="0.8") leafNode=dict(

  • python画图系列之个性化显示x轴区段文字的实例

    今天在写一个研究生创新项目申报书时涉及到一个python画图问题,对于在x轴各个区段显示自定义的字符串有些疑问,特此记录. 界面如下所示: 代码如下所示: import matplotlib.pyplot as plt from pylab import * #支持中文 mpl.rcParams['font.sans-serif'] = ['SimHei'] """条形图bar""" x = ['10/Q1', '10/Q3', '11/Q1',

  • python中文乱码的解决方法

    乱码原因:源码文件的编码格式为utf-8,但是window的本地默认编码是gbk,所以在控制台直接打印utf-8的字符串当然是乱码了! 解决方法:1.print mystr.decode('utf-8').encode('gbk')2.比较通用的方法: 复制代码 代码如下: import systype = sys.getfilesystemencoding()print mystr.decode('utf-8').encode(type)

  • 解决Python pandas plot输出图形中显示中文乱码问题

    解决方式一: import matplotlib #1. 获取matplotlibrc文件所在路径 matplotlib.matplotlib_fname() #Out[3]: u'd:\\Anaconda2\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc' #修改此配置文件,一劳永逸,不用在每个脚本中写代码解决中文显示问题 修改 'font.sans-serif' 的配置,在最前面加你本地电脑已有的字体family. 参看方式二.

  • Python2.x中文乱码问题解决方法

    Python中乱码问题是一个很头痛的问题. 在Python3中,对中文进行了全面的支持,但在Python2.x中需要进行相关的设置才能使用中文.否则会出现乱码 [问题原因] 在Python2.x中主要是字符编码的问题,处理不好的话,会导致乱码.Python默认采取的ASCII编码,字母.标点和其他字符只使用一个字节来表示,但对于中文字符来说,一个字节满足不了需求. 复制代码 代码如下: >>> import sys  >>> sys.getdefaultencoding

  • python 采集中文乱码问题的完美解决方法

    近几日遇到采集某网页的时候大部分网页OK,少部分网页出现乱码的问题,调试了几日,终于发现了是含有一些非法字符造成的..特此记录 1. 在正常情况下..可以用 import chardet thischarset = chardet.detect(strs)["encoding"] 来获取该文件或页面的编码方式 或直接抓取页面的charset = xxxx 来获取 2. 遇到内容中有特殊字符时指定的编码一样会造成乱码..即内容中非法字符造成的,可以采用编码忽略非法字符的方式来处理. st

  • Python实现matplotlib显示中文的方法详解

    本文实例讲述了Python实现matplotlib显示中文的方法.分享给大家供大家参考,具体如下: [注意] 可能与本文主题无关,不过我还是想指出来:使用matplotlib库时,下面两种导入方式是等价的(我指的是等效,当然这个说法可以商榷:) import matplotlib.pyplot as plt import pylab as plt [效果图] [方式一]FontProperties import matplotlib.pyplot as plt from matplotlib.f

  • 完美解决Python2操作中文名文件乱码的问题

    Python2默认是不支持中文的,一般我们在程序的开头加上#-*-coding:utf-8-*-来解决这个问题,但是在我用open()方法打开文件时,中文名字却显示成了乱码. 我先给大家说说Python中的编码问题,Python中的字符串的大概分为为str和Unicode两种形式,其中str常用的编码类型为utf-8,gb2312,gbk等等,Python使用Unicode作为编码的基础类型.str记录的是字节数组,只是某种编码的存储格式,终于输出到文件或是打印出来是什么格式,完全取决于其解码的

  • Python2.x版本中基本的中文编码问题解决

    Python 输出 "Hello, World!",英文没有问题,但是如果你输出中文字符"你好,世界"就有可能会碰到中文编码问题. Python 文件中如果未指定编码,在执行过程会出现报错: #!/usr/bin/python print "你好,世界"; 以上程序执行输出结果为: File "test.py", line 2 SyntaxError: Non-ASCII character '\xe4' in file te

  • 解决python中画图时x,y轴名称出现中文乱码的问题

    如下所示: #-*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties #k与客户端处理时间的值之间的关系 x=range(2,51,2) y1=[5.393128497232703, 9.57638681757734, 13.828038570286598, 17.88060602988053, 22.943

  • 解决idea中Terminal终端无法执行GIT命令+Terminal 中文乱码问题

    在使用 IDEA 进行开发的时候,经常会用到 Git 进行代码管理,如果再开一个 Docker 窗口的话,窗口切换来切换去的很不方便 为了简单方便,我们可以直接在 IDEA 中使用自带的 Terminal,这样就可以达到在 IDEA 主界面敲代码,侧边栏敲 Git 命令的效果 但是自带的 Terminal 默认的配置是 Cmd 窗口,直接使用 Git 命令会对中文进行 Unicode 转码,也就是所谓的乱码 这里简单的介绍下具体的配置流程以及使用 Git 命令会引起的中文 Unicode 编码的

  • 解决python中使用PYQT时中文乱码问题

    如题,解决Python中用PyQt时中文乱码问题的解决方法: 在中文字符串前面加上u,如u'你好,世界',其他网上的方法没有多去探究,Python的版本也会影响解决方法,故这里只推荐这种. (有人说用toLocal8bit函数也可以,我试了下,貌似不行)请看例子: #coding=utf-8 from PyQt4 import QtGui, QtCore s = QtCore.QString(u'你好(hello)世界(world)') t = s.toLocal8Bit() u = unico

  • 解决python中使用plot画图,图不显示的问题

    对以下数据画图结果图不显示,修改过程如下 df3 = {'chinese':109, 'American':88, 'German': 66, 'Korea':23, 'Japan':5, 'England':118} df4 = pd.DataFrame(df3) df4.plot(kind='barh', rot=0) 运行结果:ValueError: If using all scalar values, you must pass an index 原因:缺少索引 修改后: #方式1:

  • Python在画图时使用特殊符号的方法总结

    目录 一.问题背景 二.注意事项 三.常见特殊符号及对应代码 四.引入特殊符号的万能方法 本文总结了python画图中使用各种特殊符号方式 一.问题背景 在论文中,如何使用特殊符号进行表示?这里给出效果图和代码 完整代码: from matplotlib import pyplot import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties from matplotlib.ticker im

  • python matplotlib画图时坐标轴重叠显示不全和图片保存时不完整的问题解决

    目录 问题 解决方案 保存时图片不完整的问题 补充:使用matplotlib时如何让坐标轴完整显示所有的标签刻度 总结 问题 在使用matplotlib作图的时候,有的时候会遇到画图时坐标轴重叠,显示不全和图片保存时不完整的问题.如下: 解决方案 画图时重叠或者显示不全的问题 画图时加上参数设置tight_layout=True 画完所有子图后,设置plt.tight_layout() # 加上tight_layout=True 参数设置 fig, axes = plt.subplots(nro

  • Python matplotlib画图时图例说明(legend)放到图像外侧详解

    用python的matplotlib画图时,往往需要加图例说明.如果不设置任何参数,默认是加到图像的内侧的最佳位置. import matplotlib.pyplot as plt import numpy as np x = np.arange(10) fig = plt.figure() ax = plt.subplot(111) for i in xrange(5): ax.plot(x, i * x, label='$y = %ix$' % i) plt.legend() plt.sho

  • 如何彻底解决Python中matplotlib不显示中文的问题详解(显示方框)

    目录 前言 方法一: 方法二: 总结 前言 在很长一段时间里用Python绘图,matplotlib都不能很好的显示中文,起初是认为我的pycharm里的设置问题,但是发现同样的问题在spyder里也同样的出现了,虽然有的地方可以用英文实在不行用拼音...但是在作图这里没有中文真的是太不方便了,机缘巧合下在年前终于找到问题的根源了,于是乎爱刨根问底儿的我把整个过程的解决方法分享给大家~~ 一共有两种解决方案,我强烈推荐第一种,因为更为方便,绘图时不用再写别的参数,调用一次即可,第二种方法也会写出

  • 解决Python中回文数和质数的问题

    一.前言 今天学习视频时课后作业是找出1000以内既是素数又是回文数的数,写代码这个很容易,结果一运行遇到了bug,输出结果跟预期不一样,调试了快30min,再接着一通搜索和回看视频才发现问题所在.所以特地写下来,方便以后查看.问题的关键是判断素数过程中for-else的用法上(具体看后面代码) 二.实现判断素数的功能 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数).via--Wikiped

  • 解决Pycharm中import时无法识别自己写的程序方法

    我们用pycharm打开自己写的代码,当多个文件之间有相互依赖的关系的时候,import无法识别自己写的文件,但是我们写的文件又确实在同一个文件夹中, 这种问题可以用下面的方法解决: 1)打开File-->Setting->打开 Console下的Python Console,把选项(Add source roots to PYTHONPAT)点击勾选上 2)右键点击自己的工作空间,找下面的Mark Directory as 选择Source Root,就可以解决上面的问题了! 以上这篇解决P

随机推荐