2015-12-14 59 views
0

我想知道如何在pyplot.contour中選擇輪廓等級。我的意思是,給定函數f(x,y),通常通過評估f(x,y)= c,c = 0,1,2,...等點來選擇電平曲線。但是,如果f(x,y)是nxn個點的數組A,那麼如何選擇關卡點?我不是說你怎麼點得到連接,只需簡單地對應於A = c如何在pyplot中選擇水平曲線中的點?

回答

0

查看源代碼(contour.py)的點,它是這樣的

import numpy as np 
import matplotlib.pylab as pl 
import matplotlib.ticker as ticker 

x = np.arange(10) 
y = np.arange(10) 
z = np.random.random((10,10)) 

pl.figure() 
pl.contour(x, y, z) 
pl.colorbar() 

# manually calculate levels: 
zmin = np.amin(z) 
zmax = np.amax(z) 

N = 7 # default 
locator = ticker.MaxNLocator(N+1) 
lev = locator.tick_values(zmin, zmax) 

# Clip 
levels = lev[(lev > zmin) & (lev < zmax)] 

print(levels) 

[0.15 0.3 0.45 0.6 0.75 0.9]

enter image description here

0

的功能是在每個網格節點評價,並與iso等級進行比較。當沿着單元邊緣發生符號變化時,通過兩個節點之間的線性內插來計算點。點通過線段成對連接。當網格足夠密集時,這是一個可接受的近似值。