मुझे matplotlib के contourf फ़ंक्शन के साथ कोई समस्या है। मेरे पास एक txt डेटा फ़ाइल है जिसमें से मैं अपना डेटा आयात कर रहा हूं। मेरे पास डेटा के कॉलम हैं (pm1 और pm2) और मैं 2 डी हिस्टोग्राम कर रहा हूं। मैं इस डेटा को 3 डी हिस्टोग्राम के रूप में प्लॉट करना चाहता हूं और एक समोच्च साजिश के रूप में देखना चाहता हूं कि अधिकतम मूल्य कहां स्थित है।3 डी हिस्टोग्राम और कंटूर प्लॉट्स पायथन
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
rows = np.arange(200,1300,10)
hist, xedges, yedges = np.histogram2d (pm1_n, pm2_n, bins = (rows, rows))
elements = (len(xedges) - 1) * (len(yedges) - 1)
xpos, ypos = np.meshgrid(xedges[:-1], yedges[:-1])
xpos = xpos.flatten()
ypos = ypos.flatten()
zpos = np.zeros(elements)
dx = 0.1 * np.ones_like(zpos)
dy = dx.copy()
dz = hist.flatten()
#####The problem is here#####
#ax.contourf(xpos,ypos,hist)
#ax.bar3d(xpos, ypos, zpos, dx, dy, dz, zsort='average')
plt.show()
मैं 3 डी बार ग्राफ प्लॉट कर सकते हैं, लेकिन मैं, समोच्च एक साजिश अगर मैं contourf समारोह में hist
जगह मैं त्रुटि मिलती नहीं पा रहा हूँ: Length of x must be number of columns in z
और अगर
यह मेरा कोड है मैं dz
रखता हूं मुझे Input z must be a 2D array
मिलता है मैंने xedges और yexges का उपयोग करने का भी प्रयास किया है लेकिन इससे समस्या हल नहीं होती है।
मुझे लगता है कि समस्या फ़ंक्शन हिस्टोग्राम 2 डी की वापसी के आकार से संबंधित है। लेकिन मुझे नहीं पता कि इसे कैसे हल किया जाए।
मैं एक 3 डी बार प्लॉट भी एक रंगीन कोड बदलने के साथ न्यूनतम मूल्य के लिए न्यूनतम रूप में करना चाहूंगा। क्या ऐसा करने के लिए वैसे भी है?
धन्यवाद
कलरबार अनुकूलन लाइनों के संदर्भ: [pylab उदाहरण] (http://matplotlib.org/examples/pylab_examples/hist_colormapped.html) और [यह पोस्ट] (http://stackoverflow.com/questions/11950375/apply रंग-नक्शा करने वाली एमपीएल-उपकरणकिटें-mplot3d-axes3d-bar3d) – lanery