Axes class
軸包含大部分圖形元素:軸燃乍,刻度線,2D的線逗旁,文本,多邊形等片效,并設置坐標系英古。
axes類的api
matplotlib.pyplot.axes
給當前圖表添加軸或者返回當前軸,是有返回值的膨桥,返回的就是當前創(chuàng)建的或者當前激活的軸(axes類下的對象)。
matplotlib.pyplot.axes(arg=None, **kwargs)
一般會像課程中那樣創(chuàng)建坐標系
# Creates axes of plot referenced 'ax'
ax = plt.axes()
matplotlib.axes.Axes.plot
繪制y與x作為線或其他格式只嚣。
Axes.plot(*args, data=None, **kwargs)
常用的調(diào)用形式如下:
ax.plot([x], y, [fmt], data=None, **kwargs)
ax.plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)
點或線節(jié)點的坐標由x玻墅,y給出。
可選參數(shù)fmt是定義基本格式(如顏色澳厢,標記和線條樣式)
比如
>>> plot(x, y) # plot x and y using default line style and color
>>> plot(x, y, 'bo') # plot x and y using blue circle markers
>>> plot(y) # plot y using x as index array 0..N-1
>>> plot(y, 'r+') # ditto, but with red plusses
可選的data就是錄進一個數(shù)據(jù)集合,x和y可以從中去選值线得。
>>> plot('xlabel', 'ylabel', ' ',data=obj)
還有很多可選參數(shù),有興趣可以看下api文檔
matplotlib.axes.Axes.arrow
Axes.arrow(x, y, dx, dy, **kwargs)
其實看函數(shù)名也大概想得出來贯钩,就是增加向量
x, y : float
原點
dx, dy : float
決定了沿x / y方向的箭頭長度(當然也決定了方向)办素。
其余是可選參數(shù)
width: float (default: 0.001)
箭那條線的寬度,提醒下大家0.1就很粗了性穿。
length_includes_head: bool (default: False)
計算長度的時候是不是算頭的(如果是false就是線的尾端就是dx dy)
head_width: float or None (default: 3*width)
箭的頭部的寬度
head_length: float or None (default: 1.5 * head_width)
箭的頭部的長度
shape: [‘full’, ‘left’, ‘right’] (default: ‘full’)
繪制左半邊,右半邊或全箭頭
overhang: float (default: 0)
箭的頭部的形狀改變吗坚,描述不好,嘗試一下吧
head_starts_at_zero: bool (default: False)
如果為True商源,則箭線的開始部分在坐標0處繪制
還有很多其他參數(shù),自行去嘗試
matplotlib.pyplot.grid
主要作用是打開或者關閉網(wǎng)格
比較簡單牡彻,沒啥講的,看下api文檔吧
matplotlib.pyplot.grid(b=None, which='major', axis='both', **kwargs)
matplotlib.pyplot.grid
axes的圖例
numpy.linalg.solve
求解線性矩陣方程或線性標量方程組充甚。
詳細是線性矩陣方程ax = b的“精確”解x。
numpy.linalg.solve(a, b)
numpy.dot
求點積伴找,如果是一維的废菱,就是簡單相乘,二維的話
向量的點積結(jié)果跟兩個向量之間的角度有關
numpy.dot(a, b, out=None)
numpy.allclose
numpy.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)
判斷是否接近(在給定的rtol和atol的容錯基礎上)
absolute(a - b) <= (atol + rtol * absolute(b))
若滿足這個不等式則返回True否則返回False
上三個可以結(jié)合計算和驗證矩陣方程和他的解
>>> a = np.array([[3,1], [1,2]])
>>> b = np.array([9,8])
>>> x = np.linalg.solve(a, b)
>>> x
array([ 2., 3.])
>>> np.allclose(np.dot(a, x), b)
True
numpy.matmul
矩陣乘法衰倦,傳入?yún)?shù)不同旁理,乘法的方法會有所不同。
如果兩個參數(shù)都是2-D孽文,它們就像傳統(tǒng)矩陣一樣相乘。
如果任一參數(shù)是N-D芋哭,N> 2,則對最后兩個的內(nèi)容進行乘法操作豌习,描述不如舉例,看下面的例子
如果前后有某一個參數(shù)是1-D肥隆,則通過在其維度前加1來將其提升為矩陣。 在矩陣乘法之后栋艳,移除前置1墩虹。
不允許使用標量乘法,*可以用標量乘法诫钓。
numpy.matmul(a, b, out=None)
2*2
>>> a = [[1, 0], [0, 1]]
>>> b = [[4, 1], [2, 2]]
>>> np.matmul(a, b)
array([[4, 1],
[2, 2]])
n*1
>>> a = [[[1,2], [0,1]], [[0,1], [1,2]]]
>>> b = [[1, 2],[1,2]]
>>> np.matmul(a, b)
array([[[3, 6],
[1, 2]],
[[1, 2],
[3, 6]]])
1*2/2*1
>>> a = [[1, 0], [0, 1]]
>>> b = [1, 2]
>>> np.matmul(a, b)
array([1, 2])
>>> np.matmul(b, a)
array([1, 2])