本章知識列表
序號 | 圖表組成元素函數(shù) | 函數(shù)解析 |
---|---|---|
1 | plt.plot(x,y,ls,lw,label,color) | 展示xy變量變化趨勢:參數(shù)含義為x,y為x和y軸上的數(shù)值,ls為linestyle,lw為linewidth,label為linelabel |
2 | plt.scatter(x,y,c,label,color) | 繪制散點(diǎn)圖:參數(shù)含義為xy為坐標(biāo)軸數(shù)值,c為散點(diǎn)圖標(biāo)記顏色,label散點(diǎn)圖標(biāo)簽文本 |
3 | plt.xlim(xmin,xmax) | 設(shè)置坐標(biāo)軸的取值范圍:參數(shù)含義為參數(shù)設(shè)置 x坐標(biāo)的范圍,設(shè)置y坐標(biāo)范圍只需要把x換成y即可 |
4 | plt.xlabel(string) | 設(shè)置標(biāo)簽:參數(shù)含義為設(shè)置x軸的標(biāo)簽,設(shè)置y軸標(biāo)簽只需把x改為y即可 |
5 | plt.grid(linestyle=':',color) | 繪制網(wǎng)格線:參數(shù)含義為線條風(fēng)格和線條顏色 |
6 | plt.axhline(y,c,ls,lw) | 繪制平行于x坐標(biāo)軸的參考線:y為水平參數(shù)出發(fā)點(diǎn),其他參數(shù)含義同上,繪制y軸參考線只需將h改為v,y參數(shù)改為x即可 |
7 | plt.axvspan(xmin,xmax,fc,al) | 繪制垂直于x軸的參考區(qū)域:xmin和xmax為區(qū)域范圍,facecolor為區(qū)域填充色,alpha為顏色透明度,繪制y軸參考區(qū)域只需講函數(shù)v改為h即可 |
8 | plt.annocate() | 添加圖形指向型注釋文本:函數(shù)參數(shù)列表(string,xy(x,y),xytext(x,y),weight,color,arrowprops,string為注釋內(nèi)容,xy為指向的坐標(biāo),xytext(x,y)為注釋位置,weight為文字粗細(xì)color為注釋顏色arrowprops=dict(arrowstyle,connectionstyle,color),arrowstyle為箭頭風(fēng)格,connectionstyle為兩點(diǎn)的連接風(fēng)格 |
10 | plt.text() | 添加非指向型注釋文本:參數(shù)列表(x,y,string,weight,color)string,x,y分別為注釋內(nèi)容和注釋內(nèi)容坐標(biāo) weight為字體粗細(xì),color為顏色 |
11 | plt.title() | 添加圖形標(biāo)題 |
12 | legend(loc = 'lower/height left/right') | 展示圖形標(biāo)簽的圖例 |
知識運(yùn)用
# 導(dǎo)入包
import matplotlib.pyplot as plt
import numpy as np
# 正弦函數(shù)圖像
#x = np.linspace(0.5,9,10) # 在0.5與9之間均勻的選取10個點(diǎn)
'''
實(shí)際上對于函數(shù)而言在一個區(qū)間上有無數(shù)個點(diǎn)
要讓計(jì)算機(jī)能夠處理我們只需要均勻的適當(dāng)?shù)倪x取
多個節(jié)點(diǎn)然后用樣條差值就可以逼近正弦函數(shù),顯然我們選取的
插值節(jié)點(diǎn)越多所得到的函數(shù)越逼近正弦函數(shù)
'''
x = np.linspace(0.5,9,300)#當(dāng)我們均勻的選取300個插值節(jié)點(diǎn)的時候
y = np.sin(x)
plt.plot(x,y,ls='-',lw=2,label='plot figure',color ='blue')
#plt.show()
當(dāng)選取10個插值節(jié)點(diǎn)是的圖像:
1.png
1.png
當(dāng)選取300個插值節(jié)點(diǎn)時候的圖像
2.png
[<matplotlib.lines.Line2D at 0x250ce5a32b0>]
#創(chuàng)建散點(diǎn)圖
Y = np.random.randn(300) #函數(shù)randn表明在標(biāo)準(zhǔn)正態(tài)分布中隨機(jī)選取300個點(diǎn)
plt.plot(x,y,ls='-',lw=2,label='plot figure',color ='blue')
plt.scatter(x,Y,label='scatter figure',color='purple')
#plt.show()
散點(diǎn)圖圖像如下:
3.png
3.png
<matplotlib.collections.PathCollection at 0x250ce5bb940>
#添加x軸與y軸標(biāo)簽
plt.xlabel('x_axis',color='r')
plt.ylabel('y_axis',color='r')
#plt.show()
4.png
<matplotlib.text.Text at 0x250cc41cba8>
#繪制網(wǎng)格線
plt.grid(linestyle=':',color='r')
#plt.show()
5.png
#繪制參考線
plt.axhline(y=0.4,c='g',ls='--',lw='2') #垂直Y軸
plt.axvline(x=5.0,color='g',ls='--',lw='2')#垂直X軸
#plt.show()
6.png
#繪制參考區(qū)域
x = np.linspace(0.5,9,300)#當(dāng)我們均勻的選取300個插值節(jié)點(diǎn)的時候
y = np.sin(x)
plt.plot(x,y,ls='-',lw=2,label='plot figure',color ='blue')
plt.axvspan(xmin=1,xmax=2,facecolor='c',alpha=0.3)#垂直x軸的參考區(qū)域
plt.axhspan(ymin=0.1,ymax=0.2,facecolor='c',alpha=0.3)#垂直Y軸的參考區(qū)域
#plt.show()
7.png
#繪制有指向性的注釋文本
plt.annotate('maxnum',
xy=(np.pi/2,1.0),
xytext=((np.pi/2)-0.3,0.5),
weight='bold',
color='y',
arrowprops=dict(arrowstyle='->',connectionstyle='arc3',color='k')
)
#plt.show()
8.png
#繪制無指向性的注釋文本
plt.text(3.14,0.5,'y=sin(x)',weight='bold',color='r')
#plt.show()
9.png
#繪制標(biāo)題
plt.title('matplotlib')
#plt.show()
10.png
#設(shè)置x軸與y軸的范圍
plt.xlim(0,3)
plt.ylim(0,1)
#plt.show()
11.png
(0, 1)
#展示表示圖形的標(biāo)簽
plt.legend()
plt.show()
12.png
綜合以上繪制圖形如下:
13.png