在一個例子中被使用來 分割區塊
稍微花時間了解了用法
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-2,2,0.1)
y= np.arange(-2,2,0.1)
xx, yy = np.meshgrid(x,y)
z = np.zeros(xx.shape)
for i in range(0,xx.shape[0]):
for j in range(0 , xx.shape[1]):
if(x[i]>0 and y[j]>0):
z[i,j] = 4
elif(x[i]>0 and y[j]<0):
z[i,j] = 3
elif(x[i]<0 and y[j]>0):
z[i,j] = 2
elif(x[i]<0 and y[j]<0):
z[i,j] = 1
plt.contourf(xx,yy,z , 8)
C = plt.contour(xx , yy ,z, 8)
plt.clabel(C, inline = True, fontsize = 10)
plt.show()
contourf 三個基本參數 x y 軸 和 z 軸代表高度
先利用x y 建圖
由這邊定義圖的大小
meshgrid 在於建立圖座標
x = [1,2,3][array([[1, 2, 3],
y = [1,2,3]
print(np.meshgrid(x , y))
[1, 2, 3],
[1, 2, 3]]),
array([[1, 1, 1],
[2, 2, 2],
[3, 3, 3]])]
每點進行對應
(1,1) (2,1) (3,1)
(1,2) (2,2) (3,2)
(1,3) (2,3) (3,3)
在進行 Z 的計算
這邊做成 1 2 3 4 象限的形式
不同的高度使用會自動使用不同顏色
沒有好的數學函數可以用 ...
plt.contour 畫出區塊
以下兩行畫出 邊界高度
範例有點不好 看不清楚
C = plt.contour(xx , yy ,z, 8)
plt.clabel(C, inline = True, fontsize = 10)
參數可以參考 plt 的 api
沒有留言:
張貼留言