我想從均勻間隔的2D數據(類似圖像的數據)的單個輪廓中獲取數據。matplotlib - 從輪廓線中提取數據
基於類似的問題找到了例子:How can I get the (x,y) values of the line that is ploted by a contour plot (matplotlib)?
>>> import matplotlib.pyplot as plt
>>> x = [1,2,3,4]
>>> y = [1,2,3,4]
>>> m = [[15,14,13,12],[14,12,10,8],[13,10,7,4],[12,8,4,0]]
>>> cs = plt.contour(x,y,m, [9.5])
>>> cs.collections[0].get_paths()
此調用爲cs.collections[0].get_paths()
的結果是:
[Path([[ 4. 1.625 ]
[ 3.25 2. ]
[ 3. 2.16666667]
[ 2.16666667 3. ]
[ 2. 3.25 ]
[ 1.625 4. ]], None)]
基於該地塊,這一結果是有道理的,似乎是輪廓線的(y,x)對的集合。
除了手動循環此返回值,提取座標併爲該行組裝數組外,是否有更好的方法從matplotlib.path
對象獲取數據?從matplotlib.path
提取數據時是否有缺陷要注意?
或者,在matplotlib
或更好的numpy
/scipy
中有沒有其他替代方法可以做類似的事情?理想的情況是獲得描述線條的(x,y)對的高分辨率向量,這可以用於進一步分析,因爲一般來說,我的數據集不像上面的例子那麼小或簡單。
你有一個規範的問題! +1 – heltonbiker 2011-11-24 00:24:31