浅谈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中生成器和yield语句的用法详解
Apr 17 Python
django实现前后台交互实例
Aug 07 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
Apr 08 Python
在python中使用requests 模拟浏览器发送请求数据的方法
Dec 26 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
如何安装并使用conda指令管理python环境
Jul 10 Python
Python Web框架之Django框架Model基础详解
Aug 16 Python
python函数enumerate,operator和Counter使用技巧实例小结
Feb 22 Python
python 爬虫如何正确的使用cookie
Oct 27 Python
python3字符串输出常见面试题总结
Dec 01 Python
python opencv通过4坐标剪裁图片
Jun 05 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
不错的新闻标题颜色效果
2006/12/10 Javascript
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
AutoSave/自动存储功能实现
2007/03/24 Javascript
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
今天是星期几的4种JS代码写法
2013/09/17 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
JS实现转动随机数抽奖特效代码
2020/04/16 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
2017/08/15 Javascript
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
Python实现全角半角转换的方法
2014/08/18 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
Python自动化运维之IP地址处理模块详解
2017/12/10 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
详解pandas中MultiIndex和对象实际索引不一致问题
2019/07/23 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
《九色鹿》教学反思
2014/02/27 职场文书
大学生活自我评价
2014/04/09 职场文书
离婚协议书范文
2015/01/26 职场文书
高中同学会致辞
2015/08/01 职场文书
数学备课组工作总结
2015/08/12 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
分析并发编程之LongAdder原理
2021/06/29 Java/Android