浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头


Posted in Python onJanuary 09, 2018

 在使用pyplot画图的时候,有时会需要在图上标注一些文字,如果曲线靠的比较近,最好还能用箭头指出标注文字和曲线的对应关系。这里就介绍文字标注和箭头的使用。

添加标注使用pyplot.text,由pyplot或者subplot调用。下面是可以选择的参数,

text(tx,ty,fontsize=fs,verticalalignment=va,horizontalalignment=ha,...)

其中,tx和ty指定放置文字的位置,va和ha指定对其方式,可以是top,bottom,center或者left,right,center,还可以使文字带有边框,边框形状还可以是箭头,并指定方向。

添加箭头使用pyplot.annotate,调用方式与text类似。下面是可选择的参数,

annotate(text,xy=(tx0,ty0),xytext=(tx1,ty1),arrowprops=dict(arrowstyle="->",connectionstyle="arc3"))

其中,text是与箭头一起的文字,xy是箭头所在位置,终点,xytext是起点,arrowtypes指定箭头的样式,更多内容还是参见手册吧。

效果如下,

浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头

代码如下,只是在之前subplot的基础上做了一些修改,

#!/usr/bin/env python

import numpy as np
import matplotlib.pyplot as plt

def f1(t):
 return np.exp(-t)*np.cos(2*np.pi*t)

def f2(t):
 return np.sin(2*np.pi*t)*np.cos(3*np.pi*t)

t = np.arange(0.0,5.0,0.02)

plt.figure(figsize=(8,7),dpi=98)
p1 = plt.subplot(211)
p2 = plt.subplot(212)

label_f1 = "$f(t)=e^{-t} \cos (2 \pi t)$"
label_f2 = "$g(t)=\sin (2 \pi t) \cos (3 \pi t)$"

p1.plot(t,f1(t),"g-",label=label_f1)
p2.plot(t,f2(t),"r-.",label=label_f2,linewidth=2)

p1.axis([0.0,5.01,-1.0,1.5])

p1.set_ylabel("v",fontsize=14)
p1.set_title("A simple example",fontsize=18)
p1.grid(True)
#p1.legend()

tx = 2
ty = 0.9
p1.text(tx,ty,label_f1,fontsize=15,verticalalignment="top",horizontalalignment="right")

p2.axis([0.0,5.01,-1.0,1.5])
p2.set_ylabel("v",fontsize=14)
p2.set_xlabel("t",fontsize=14)
#p2.legend()
tx = 2
ty = 0.9
p2.text(tx,ty,label_f2,fontsize=15,verticalalignment="bottom",horizontalalignment="left")

p2.annotate('',xy=(1.8,0.5),xytext=(tx,ty),arrowprops=dict(arrowstyle="->",connectionstyle="arc3"))

plt.show()

本来就很简单的东西,就不要弄太复杂了。

总结

以上就是本文关于浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

用matplotlib画等高线图详解

Python通过matplotlib绘制动画简单实例

matplotlib简介,安装和简单实例代码

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
python中的随机函数random的用法示例
Jan 27 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
Python实现快速计算词频功能示例
Jun 25 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
python元组的概念知识点
Nov 19 Python
tensorflow 限制显存大小的实现
Feb 03 Python
Python容器类型公共方法总结
Aug 19 Python
python中zip()函数遍历多个列表方法
Feb 18 Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 Python
Python 循环读取数据内存不足的解决方案
May 25 Python
用tensorflow实现弹性网络回归算法
Jan 09 #Python
Python+matplotlib实现计算两个信号的交叉谱密度实例
Jan 08 #Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 #Python
Python自定义简单图轴简单实例
Jan 08 #Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 #Python
小米5s微信跳一跳小程序python源码
Jan 08 #Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 #Python
You might like
PHP垃圾回收机制引用计数器概念分析
2013/06/24 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
2016/09/22 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
Python程序语言快速上手教程
2012/07/18 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
使用Python实现简单的服务器功能
2017/08/25 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
Python绘制KS曲线的实现方法
2018/08/13 Python
python xpath获取页面注释的方法
2019/01/14 Python
python datetime时间格式的相互转换问题
2020/06/11 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
开办大学饮食联盟创业计划书
2014/01/29 职场文书
开除员工通知
2015/04/22 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
光荣之路观后感
2015/06/12 职场文书
办公用品管理制度
2015/08/04 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书
nginx请求限制配置方法
2021/07/09 Servers
Golang bufio详细讲解
2022/04/21 Golang