參考: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()
- 運行以上代碼會得到2個圖——圖1和圖3(因為num=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個數(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)原點
- 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)原點,將橫縱坐標(biāo)的原點都設(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()語句畫圖
#此時,本次帶上label
plt.plot(x,y2,label='up')
plt.plot(x,y1,color='red',linewidth=1.0,linestyle='--',label='down')
plt.legend()#有這句才會打印圖例
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')
- 如果圖例上只想顯示'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))
#想要表示的點
x0=1
y0=2*x0+1
# s for size
plt.scatter(x0,y0,s=50,color='b')
#畫出從點到橫坐標(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()