浅谈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实现批量下载图片的方法
Jul 08 Python
Python获取SQLite查询结果表列名的方法
Jun 21 Python
Python编程之基于概率论的分类方法:朴素贝叶斯
Nov 11 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
Feb 13 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
Pandas时间序列:时期(period)及其算术运算详解
Feb 25 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
pytorch快速搭建神经网络_Sequential操作
Jun 17 Python
Python3如何使用多线程升程序运行速度
Aug 11 Python
基于Python爬取股票数据过程详解
Oct 21 Python
python 从list中随机取值的方法
Nov 16 Python
pytorch 权重weight 与 梯度grad 可视化操作
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
如何将数据从文本导入到mysql
2006/10/09 PHP
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
开启Javascript中apply、call、bind的用法之旅模式
2015/10/28 Javascript
微信小程序 Button 组件详解及简单实例
2017/01/10 Javascript
微信小程序 点击控件后选中其它反选实例详解
2017/02/21 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
详解Eslint 配置及规则说明
2018/09/10 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
微信小程序实现吸顶效果
2020/01/08 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
[45:06]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第二场 11.28
2020/12/02 DOTA
python re正则表达式模块(Regular Expression)
2014/07/16 Python
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
2020/12/14 Python
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
高性能装备提升营地:Kammok
2019/02/27 全球购物
毕业生简单求职信
2013/11/19 职场文书
本科应届生求职信
2014/08/05 职场文书
火锅店的活动方案
2014/08/15 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
党校学习党性分析材料
2014/12/19 职场文书
2019年手机市场的调研报告2篇
2019/10/10 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
利用python进行数据加载
2021/06/20 Python
Java 超详细讲解设计模式之中的抽象工厂模式
2022/03/25 Java/Android