【python】Matplotlib入門(一)

參考:B站莫煩Python的系列視頻

2.2 Figure 圖像

plt.figure()

  • plt.figure()可以多次使用,每次該命令下面的命令從屬于這一圖
x=np.linspace(-3,3,50)
y1=2*x+1
y2=x**2
plt.figure()
plt.plot(x,y1)

plt.figure(num=3,figsize(8,5))
plt.plot(x,y2)
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--')

plt.show()
  • 運(yùn)行以上代碼會(huì)得到2個(gè)圖——圖1和圖3(因?yàn)閚um=3),圖1是關(guān)于x和y1的,圖3上有兩條線,分別是x和y1以及x和y2。
  • 調(diào)節(jié)顏色:color='red'
  • 調(diào)節(jié)線寬:linewidth=1.0
  • 調(diào)節(jié)線形:linestyle='--'

2.3設(shè)置坐標(biāo)軸1

  • 設(shè)置取值范圍:
    plt.xlim() plt.ylim()
    如:plt.ylim((-1,2))
  • 設(shè)置xy軸
    plt.xlabel() plt.ylabel()
    如:plt.xlabel('x')
  • 修改坐標(biāo)軸的值(間隔)
new_ticks=np.linspace(-1,2,5)
#從-1到2,產(chǎn)生5個(gè)數(shù),即:-1.00,-0.25,0.50,1.25,2.00
plt.xticks(new_ticks)
  • 修改坐標(biāo)軸的值變成文本
    plt.yticks([-2,-1,0,1],['a','b','c','d'])
    特別地:在文本兩邊插入$能夠使得文本變得好看(latex)


    $的使用

2.4設(shè)置坐標(biāo)軸2

  • 本課介紹:如何隱藏坐標(biāo)軸,如何設(shè)置坐標(biāo)原點(diǎn)
  • gca='get current axis'
ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#這么設(shè)置之后,右邊和上面的坐標(biāo)軸消失
#接下來是設(shè)置坐標(biāo)原點(diǎn),將橫縱坐標(biāo)的原點(diǎn)都設(shè)置為0
ax.xaxis.set_ticks_position('bottom')
yx.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('data',0))

2.5 圖例

本課的示意圖
#在設(shè)置完橫縱坐標(biāo)范圍、橫縱坐標(biāo)名,橫縱坐標(biāo)間隔等設(shè)置之后
#用plt.plot()語句畫圖
#此時(shí),本次帶上label
plt.plot(x,y2,label='up')
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--',label='down')
plt.legend()#有這句才會(huì)打印圖例
plt.show()
  • 關(guān)于legend的參數(shù)詳解:
l1,=plt.plot(x,y2,label='up')
l2,=plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--',label='down')
plt.legend(handles=[l1,l2,],labels=['aaa','bbb'],loc='best')
對(duì)圖片進(jìn)行壓縮,能夠自動(dòng)調(diào)整
  • 如果圖例上只想顯示'aaa',可以這樣寫代碼:
plt.legend(handles=[l1,],labels=['aaa',],loc='best')

2.6 Annotation 標(biāo)注

本文的示意圖
import matplotlib.pyplot as plt
import numpy as np

x=np.linspace(-3,3,50)
y=2*x+1

plt.figure(num=1,figsize=(8,5),)
plt.plot(x,y,)

ax=plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
#想要表示的點(diǎn)
x0=1
y0=2*x0+1
# s for size
plt.scatter(x0,y0,s=50,color='b')
#畫出從點(diǎn)到橫坐標(biāo)的黑色虛線
plt.plot([x0,x0],[y0,0],'k--',lw=2.5)

#annotation
plt.annotate(r'$2x+1=%s$' % y0, xy=(x0,y0), xycoords='data', xytest=(+30,-30), textcoords='offset points',
    fonsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3, rad=.2'))

#annotation2
plt.text(-3.7,3,r'$This\ is\ the\ some\ text.\ \mu\ \sigma_i\ \alpha_t$', fontdict={'size':16,'color':'r'})
plt.show()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容