2013-02-19 86 views
5

एक matplotlib 3 डी साजिश में, मुझे लगता है किनिरंतर रंगों

s=ax.plot_surface(x,y,z, color='gray', shade=True, rstride=1,cstride=1) 

साथ सतह पर दिखाई चेहरे की कुल संख्या जहां कम संख्या rstride हैं निर्धारित करता है पंक्तियों की संख्या/कॉलम सेट कर सकते हैं और cstride, चेहरे छोटे हैं। चूंकि मैं इस सतह पर सुव्यवस्थित/प्रक्षेपवक्र की भी योजना बना रहा हूं, इसलिए मैं चेहरों के किनारों से छुटकारा पाना चाहता हूं। अब,

s.set_linewidth(0) 

और rstride की कम मूल्यों की स्थापना और cstride साथ मैं लगभग मैं क्या चाहते हैं, अर्थात पाने के सतह पर एक लगभग निरंतर बदलते रंग, कि एक अच्छा 3 डी प्रभाव देता है।

दुर्भाग्यवश, चेहरों के बीच खाली जगहों के रूप में लाइनें वहां रहती हैं। क्या इसे करने का कोई तरीका है? शायद मुझे बस एक साधारण कमांड याद आ रहा है ..

संपादित करें: सतह उत्पन्न करने वाला कोड यहां रिपोर्ट करने के लिए लंबा है। मैं उपरोक्त लिखित कार्यवाही के साथ परिणाम का एक स्नैपशॉट संलग्न करता हूं। surface with white lines

+0

आप आप देखते हैं और कुछ नमूना डेटा + कम से कम कोड है कि यह दर्शाता है पोस्ट करना चाहते हैं क्या की एक तस्वीर शामिल कर सकते हैं अब तक आपके पास क्या है? –

उत्तर

7

क्या आपने वहां भी antialiased=False जोड़ने का प्रयास किया है?

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1) 

enter image description here

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0) 

enter image description here

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0, antialiased=False) 

enter image description here

+0

antialiased = झूठी समस्या हल करती है। धन्यवाद! – gg349