pyplot文本显示
Posted yoyo1216
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyplot文本显示相关的知识,希望对你有一定的参考价值。
pyplot文本显示
pyplot中文字符显示
pyplot默认不支持中文字符,因为默认字体是sans-serif,英文字体不能显示中文
方法1,修改需要输出中文字符的地方
在有中文输出的地方,添加属性:fontproperties
- 优点,使用方便,影响范围可控
- 缺点:不是所有输出中文的方法都有fontProperties属性,例如图例中文,没有的时候,仍需使用方法2
import matplotlib.pyplot as plt plt.plot([3,1,5,4,2]) plt.xlabel(‘X轴值‘) plt.ylabel(‘Y轴值‘,fontproperties=‘SimHei‘) plt.show()
方法2,修改全局默认字体
- 优点:适用于所有中文乱码情况
- 缺点:修改后影响本工作空间内所有代码,本次运行中删除代码也不会恢复默认,如想恢复默认可将字体名改回系统默认的sans-serif
例子:
import matplotlib.pyplot as plt import matplotlib #载入matplotlib完整库 matplotlib.rcParams[‘font.family‘]=‘Microsoft Yahei‘ #字体,改为微软雅黑,默认 sans-serif matplotlib.rcParams[‘font.size‘]=32 #字体大小,整数字号,默认10 plt.plot([3,1,5,4,2]) plt.xlabel(‘X axis‘) plt.ylabel(‘Y轴值‘) plt.show()
一些系统通用中文字体名称(英文名称)
- Microsoft Yahei 微软雅黑,推荐
- SimHei 黑体(某些符号可能会出问题,例如负号)
- Kaiti 楷体
- FangSong 仿宋
pyplot常用文本显示函数
- plt.xlabel() X轴文本标签
- plt.ylabel() Y轴文本标签
- plt.title() 图表标题
- plt.text() 任意位置增加文本
- plt.annotate() 任意位置增加带箭头的注释文本
plt.annotate(string,xy=arrow_crd,xytext=text_crd,arrowprops=dict)
- string:要显示的字符串
- xy:箭头所在的位置
- xytext:文本显示的位置
- arrowprops:字典类型,定义了整个元素显示的一些属性
注:当字符串里有反斜杠等转义特殊字符时,字符串前加r
,表示显示原始字符串
例子:
import matplotlib.pyplot as plt plt.plot([3,1,5,4,2]) plt.xlabel(r‘X axis‘) #字符串前加r显示原始字符串 plt.ylabel(‘纵轴值‘,fontproperties=‘SimHei‘,color=‘#00ff00‘,fontsize=‘24‘) plt.title(‘图表标题 $a^{2}+b^{2}=C^{2}$‘,fontproperties=‘SimHei‘) #可以使用$引入一部分latex文本排版语法和公式 plt.text(0.5,3,‘任意位置文本‘,fontproperties=‘SimHei‘,fontsize=‘24‘,rotation=45) #任意文本的x,y坐标值(可用latex语法),旋转角度 plt.annotate( ‘这里转折‘, #显示字符串 fontproperties=‘SimHei‘, # 中文字体 xy=(3,4), # 箭头位置 xytext=(3.5,4.5), # 文本位置 arrowprops=dict(facecolor=‘red‘,shrink=0.1,width=2) # facecolor:箭头颜色;shrink:箭头的起始和结束位置两侧的空白大小;width:箭头宽度 ) plt.show()
以上是关于pyplot文本显示的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Google Colab 中的脚本文件中的 pyplot 进行绘图?
每个单元格中带有文本的热图,带有 matplotlib 的 pyplot