在使用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指定箭头的样式,更多内容还是参见手册吧。
效果如下,
代码如下,只是在之前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简介,安装和简单实例代码》
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。