首页 > 编程 > Python > 正文

Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法

2020-01-04 15:13:29
字体:
来源:转载
供稿:网友

本文实例讲述了Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法。分享给大家供大家参考,具体如下:

Matplotlib中文显示问题——用例子说明问题

#-*- coding: utf-8 -*-from pylab import *t = arange(-4*pi, 4*pi, 0.01)y = sin(t)/tplt.plot(t, y)plt.title('www.vevb.com - test')plt.xlabel(u'/u2103',fontproperties='SimHei')#在这里,u'/u2103'是摄氏度,前面的u代表unicode,而引号里的内容,是通过在网上查找“℃”这一个符号的unicode编码得到的。这里的“摄氏度”是中文,要显示的话需要在后面加上fontproperties属性即可,这里设置的字体为黑体。plt.ylabel(u'幅度',fontproperties='SimHei')#也可以直接显示中文。plt.show()

运行效果:

Python,Matplotlib,坐标轴标题,中文,特殊符号

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 pltimport numpy as npt = 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教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表