2014-11-14 5 views
12

में भरे बहुभुज प्लॉटिंग में मेरे पास दो मैट्रिस Tri और V बहुभुज के चेहरे (एनएक्स 3) और शिखर (एमएक्स 3) के लिए है जो मैं प्लॉट करना चाहता हूं। क्या ऐसा करने के लिए कोई matplotlib (या कोई वैकल्पिक) तरीका है? मैटलैब आदेशपायथन

patch('faces',Tri,'vertices',V,'facecolor', 
     'flat','edgecolor','none','facealpha',1) 
+0

आप शायद त्रिकोण को बहुभुज कनवर्ट करते हैं, और उसके बाद का उपयोग [ 'plot_tri_surf'] करना चाहते हैं (http://matplotlib.org/mpl_toolkits/mplot3d/ tutorial.html # त्रिकोणीय सतह भूखंडों)। – will

उत्तर

20

को कुछ इसी तरह मैं बिल्कुल यकीन है कि matlab क्या करता है नहीं कर रहा हूँ, लेकिन आप एक बहुभुज matplotlib.patches.Polygon का उपयोग कर बना सकते हैं। डॉक्स में एक example से अनुकूलित:

import numpy as np 

import matplotlib.pyplot as plt 
import matplotlib 
from matplotlib.patches import Polygon 
from matplotlib.collections import PatchCollection 

fig, ax = plt.subplots() 
patches = [] 
num_polygons = 5 
num_sides = 5 

for i in range(num_polygons): 
    polygon = Polygon(np.random.rand(num_sides ,2), True) 
    patches.append(polygon) 

p = PatchCollection(patches, cmap=matplotlib.cm.jet, alpha=0.4) 

colors = 100*np.random.rand(len(patches)) 
p.set_array(np.array(colors)) 

ax.add_collection(p) 

plt.show() 

enter image description here