2013-10-17 9 views
6

पृष्ठभूमि

the documentation example here से, कोई आसानी से कोड स्निपेट के साथ निम्नलिखित समोच्च साजिश का उत्पादन कर सकता है।matplotlib में समोच्च से निर्देशांक प्राप्त करें?

import matplotlib 
import numpy as np 
import matplotlib.cm as cm 
import matplotlib.mlab as mlab 
import matplotlib.pyplot as plt 

matplotlib.rcParams['xtick.direction'] = 'out' 
matplotlib.rcParams['ytick.direction'] = 'out' 

delta = 0.025 
x = np.arange(-3.0, 3.0, delta) 
y = np.arange(-2.0, 2.0, delta) 
X, Y = np.meshgrid(x, y) 
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0) 
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1) 
# difference of Gaussians 
Z = 10.0 * (Z2 - Z1) 

# Create a simple contour plot with labels using default colors. The 
# inline argument to clabel will control whether the labels are draw 
# over the line segments of the contour, removing the lines beneath 
# the label 
plt.figure() 
CS = plt.contour(X, Y, Z) 
plt.clabel(CS, inline=1, fontsize=10) 
plt.title('Simplest default with labels') 

enter image description here

मेरे लक्ष्य

मैं अपने समोच्च भूखंड प्राप्त किया है और इस बीच matplotlib.contour.QuadContourSet उदाहरण CS मिला है। उदाहरण में स्निपेट, CS का उपयोग केवल clabel() के लिए किया जाता है। हालांकि मेरे मामले के लिए, मुझे या तो समोच्च रेखा के समीकरण या आगे गणना के लिए समन्वय सेट प्राप्त करने की आवश्यकता है।

उदाहरण CS से समोच्च रेखा के निर्देशांक कैसे निकालें? या मैं इसे अन्य तरीकों से कैसे प्राप्त कर सकता हूं?

मुझे यकीन है कि ऐसा करने का एक तरीका होना चाहिए। अन्यथा, समोच्च चीज केवल "दृश्यता के लिए फूलदान" है।

+1

http://scikit-image.org/docs/dev/auto_examples/plot_contours.html – tacaswell

उत्तर

10

आप CS.allsegs सूची से समोच्चों के निर्देशांक प्राप्त कर सकते हैं।

प्रयास करें:

dat0= CS.allsegs[0][0] 
plt.plot(dat0[:,0],dat0[:,1]) 

पहले (-1) समोच्च स्तर साजिश।

+0

क्या आप एक ही मूल्य में एकाधिक समोच्च स्तरों है, का कहना है कि कई (-1) समोच्च स्तरों आप ... कैसे निकाल सकते हैं इन सभी मूल्यों के सेट के निर्देशांक? – max29

+0

स्पष्टीकरण के लिए: यदि आपके पास समान समोच्च स्तर मान पर एकाधिक क्षेत्र हैं, तो एकाधिक (-1) समोच्च क्षेत्रों का कहना है ... आप इन सभी क्षेत्रों के सेट के निर्देशांक कैसे निकाल सकते हैं? – max29

+0

सभी व्यक्तिगत समोच्च रेखाएं 2 डी सरणी (CS.allsegs) में रखी जाती हैं। यदि आप इस सरणी को चेक करते हैं, तो आपको उसी सूचकांक में रखे समान समोच्च मूल्य से संबंधित रेखाएं मिलेंगी। – Jakob

संबंधित मुद्दे