您好,登錄后才能下訂單哦!
在使用pyplot畫(huà)圖的時(shí)候,有時(shí)會(huì)需要在圖上標(biāo)注一些文字,如果曲線靠的比較近,最好還能用箭頭指出標(biāo)注文字和曲線的對(duì)應(yīng)關(guān)系。這里就介紹文字標(biāo)注和箭頭的使用。
添加標(biāo)注使用pyplot.text,由pyplot或者subplot調(diào)用。下面是可以選擇的參數(shù),
text(tx,ty,fontsize=fs,verticalalignment=va,horizontalalignment=ha,...)
其中,tx和ty指定放置文字的位置,va和ha指定對(duì)其方式,可以是top,bottom,center或者left,right,center,還可以使文字帶有邊框,邊框形狀還可以是箭頭,并指定方向。
添加箭頭使用pyplot.annotate,調(diào)用方式與text類(lèi)似。下面是可選擇的參數(shù),
annotate(text,xy=(tx0,ty0),xytext=(tx1,ty1),arrowprops=dict(arrow,connection))
其中,text是與箭頭一起的文字,xy是箭頭所在位置,終點(diǎn),xytext是起點(diǎn),arrowtypes指定箭頭的樣式,更多內(nèi)容還是參見(jiàn)手冊(cè)吧。
效果如下,
代碼如下,只是在之前subplot的基礎(chǔ)上做了一些修改,
#!/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(arrow,connection)) plt.show()
本來(lái)就很簡(jiǎn)單的東西,就不要弄太復(fù)雜了。
總結(jié)
以上就是本文關(guān)于淺談Matplotlib簡(jiǎn)介和pyplot的簡(jiǎn)單使用——文本標(biāo)注和箭頭的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:
《用matplotlib畫(huà)等高線圖詳解》
《Python通過(guò)matplotlib繪制動(dòng)畫(huà)簡(jiǎn)單實(shí)例》
《matplotlib簡(jiǎn)介,安裝和簡(jiǎn)單實(shí)例代碼》
如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。