Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
本文实例讲述了Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法。分享给大家供大家参考,具体如下:
Matplotlib中文显示问题――用例子说明问题
#-*- coding: utf-8 -*- from pylab import * t = arange(-4*pi, 4*pi, 0.01) y = sin(t)/t plt.plot(t, y) plt.title('www.jb51.net - test') plt.xlabel(u'\u2103',fontproperties='SimHei') #在这里,u'\u2103'是摄氏度,前面的u代表unicode,而引号里的内容,是通过在网上查找“℃”这一个符号的unicode编码得到的。这里的“摄氏度”是中文,要显示的话需要在后面加上fontproperties属性即可,这里设置的字体为黑体。 plt.ylabel(u'幅度',fontproperties='SimHei')#也可以直接显示中文。 plt.show()
运行效果:
Matplotlib中支持LaTex语法,如果要显示各种美观的数学公式和数学符号,可以稍微学习下,很有用。具体语法可参见(http://wiki.gwrite.googlecode.com/hg/misc/LaTex-EquRef.html?r=1de19067fce5484bb5c39cbd049f6a47f7d8a2e9)
可以这样使用:
代码如下:
ylabel('Rice('+r'$\mu\mathrm{mol}$'+' '+'$ \mathrm{m}^{-2} \mathrm{s}^{-1}$'+')')
中文与LaTex共同显示问题:
在坐标轴标题中同时显示中文以及带有上下标的各种数学单位,需要分两步:
1、根据上述显示中文的方法,先将中文标题加上;
2、对于单位,使用text函数进行添加,text函数用法见(http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.text)。
import matplotlib.pyplot as plt import numpy as np t = np.linspace(0, 10, 1000) y = np.sin(t) plt.plot(t, y,label=u'正弦曲线 (m)') plt.xlabel(u"时间", fontproperties='SimHei') plt.ylabel(u"振幅", fontproperties='SimHei') plt.title(u"正弦波", fontproperties='SimHei') # 添加单位 t=plt.text(6.25, -1.14,r'$(\mu\mathrm{mol}$'+' '+'$ \mathrm{m}^{-2} \mathrm{s}^{-1})$',fontsize=15, horizontalalignment='center',verticalalignment='center') #在这里设置是text的旋转,0为水平,90为竖直 t.set_rotation(0) # legend中显示中文 plt.legend(prop={'family':'SimHei','size':15}) plt.savefig("C:\\Users\\Administrator\\Desktop\\test.png")
更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
相关推荐
lengyuyan00 2019-04-23
ateacup 2019-03-22
zhangzhiyu 2019-03-21
meylovezn 2020-09-15
wordmhg 2020-07-28
syThinkCool 2020-07-16
adamlovejw 2020-06-20
woxmh 2020-06-03
maybeyoucan 2020-05-17
jiahaohappy 2020-05-11
laohyx 2020-05-07
Tonybo 2020-04-27
liusarazhang 2020-04-10
tengyunjiawucom 2020-03-27
wangdaren 2020-03-27
Leonwey 2020-03-03
xinhao 2020-02-18
Jonderwu 2020-02-10