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='')
plt.title('图表标题 $a^{2}+b^{2}=C^{2}$',fontproperties='SimHei') #可以使用$引入一部分latex文本排版语法和公式
plt.text(0.5,3,'任意位置文本',fontproperties='SimHei',fontsize='',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文本显示的更多相关文章
- css截断长文本显示
实现 截断长文本显示处理,以前是通过后台的截取,但这种方法容易丢失数据,不利于SEO. 而通过前端css的截断,则灵活多变,可统一运用与整个网站. 这项技术主要运用了text-overflow属性,这 ...
- CSS 单行溢出文本显示省略号...的方法(兼容IE FF)(转)
http://www.52css.com/article.asp?id=602 =================================================== html ...
- 新公司入职第一天遇到的 关于 CSS 单行溢出文本显示省略号...的问题
上班第一天 前端岗位,因为公司这个项目是标准开发 所以没法用框架在打架页面,好吧 我手写 各种div 各种css样式 好不忧伤,好吧 不废话了 进入正题. 想在导航栏中的 客户信息 功能点 实现溢出用 ...
- HTML超出文本显示省略号...[text-overflow]
需要对div或者span同时应用Css: text-overflow:ellipsis; white-space:nowrap; overflow:hidden; 即可实现所想要得到的溢出文本显示省略 ...
- Android开发之多线程下载、断点续传、进度条和文本显示
代码实现了在Android环境下的多线程下载.断点续传.进度条显示和文本显示百分数: import java.io.BufferedReader; import java.io.File; impor ...
- 使用text-overflow:ellipsis对溢出文本显示省略号有两个好处
使用text-overflow:ellipsis对溢出文本显示省略号有两个好处,一是不用通过程序限定字数:二是有利于SEO.需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友好 ...
- css 溢出文本显示省略号
这个标题其实已经是一个老生常谈的问题了.很多时候,比如网站最基本的文章列表,标题会很长,而显示列表的区域宽度却没有这么宽,这时候最正常的做法就是 让超出宽度的部分文字用省略号(…)来表示.通常做法是网 ...
- EmWin 文本显示函数
函数模型----------------------------------- 1:void GUI_DispChar(U16 c): 在当前窗口的当前文本位置处,使用当前字体显示单个字符. c ...
- text-overflow:ellipsis ,溢出文本显示省略号
text-overflow:ellipsis 对溢出文本显示省略号有两个好处, 一是不用通过程序限定字数 二是有利于SEO. 需要使用对对溢出文本显示省略号的通常是文章标题列表,这样处理对搜索引擎更友 ...
随机推荐
- Maven 项目报告插件
Maven 项目报告插件,都是对于前面生成的项目站点的内容丰富,因此都是基于项目站点的,生成的命令和生成项目站点一致(mvn site),项目报告插件的配置和一般插件不同,是在 project-> ...
- ML(5):KNN算法
K近邻算法,即K-Nearest Neighbor algorithm,简称KNN算法,可以简单的理解为由那离自己最近的K个点来投票决定待分类数据归为哪一类.这个算法是机器学习里面一个比较经典的算法, ...
- MySqli 中预处理类 stmt
非select 语句(没有结果集的) 1.建立连接数据库 $mysqli=new mysqli("localhost","root","", ...
- linux 搭建 redis
找了很多教程总有一个适合我 http://www.cnblogs.com/_popc/p/3684835.html 当然我的目录是/opt/redis 文章中的目录是/usr/local/redi ...
- 关于android setTextSize() 以及 px dip/dp sp的说明。。。。
Paint.setTextSize()单位为px,Android系统中,默认的单位是像素(px).也就是说,在没有明确说明的情况下,所有的大小设置都是以像素为单位.Paint.setTextSize传 ...
- 几个有用的Linux命令
原文:http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 本文为原文摘要. 1. man ascii 打印ascii代码表 2. cal ...
- BASIC-2_蓝桥杯_01字串
问题描述 对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能.它们的前几个是: 请按从小到大的顺序输出这32种01串. 输入格式 本试题没有输入. 输出格式 输出32行,按从小到大的顺 ...
- linux 添加secondary ip
linux下ip地址除了primary外,还有两种:1. ip alias(子接口)2. secondary ip(辅助ip) 都可在一块物理网卡上添加,alias由ifconfig添加,ifconf ...
- Java中的volatile关键字为什么不是不具有原子性
Java中long赋值不是原子操作,因为先写32位,再写后32位,分两步操作,而AtomicLong赋值是原子操作,为什么?为什么volatile能替代简单的锁,却不能保证原子性?这里面涉及volat ...
- mongodb 如何区分大小写
mongodb是区分大小写的,在做mongodb数据库操作是经常使用toUpperCase()等方法将value转换为大写存到数据库中 e.g. 在做数据库模糊查询时语句如下 db.COLLECTIO ...