के साथ Matplotlib 3 डी स्कैटर प्लॉट अंक के लिए रंगीन ढाल के साथ मैं 3 डी प्लॉट कैसे बना सकता हूं? नीचे दिया गया उदाहरण देखें, जो 2 डी स्कैटर प्लॉट के लिए काम करता है।रंग ग्रेडिएंट
संपादित करें (क्रिस के लिए धन्यवाद): मैं 3 डी प्लॉट से जो देखने की उम्मीद कर रहा हूं वह 2 डी स्कैटर प्लॉट में लाल से हरे रंग के बिंदुओं का रंग ढाल है। मैं 3 डी स्कैटर प्लॉट में जो देखता हूं वह केवल लाल बिंदु हैं।
समाधान: कुछ कारणों से (मैंने कहीं और कॉपी किए गए ढाल उदाहरण से संबंधित) मैंने xrange को len-1 सेट किया है, जो 3 डी प्लॉट में सबकुछ खराब करता है।
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# Create Map
cm = plt.get_cmap("RdYlGn")
x = np.random.rand(30)
y = np.random.rand(30)
z = np.random.rand(30)
#col = [cm(float(i)/(29)) for i in xrange(29)] # BAD!!!
col = [cm(float(i)/(30)) for i in xrange(30)]
# 2D Plot
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(x, y, s=10, c=col, marker='o')
# 3D Plot
fig = plt.figure()
ax3D = fig.add_subplot(111, projection='3d')
ax3D.scatter(x, y, z, s=10, c=col, marker='o')
plt.show()
की तरह अलग अलग मूल्यों के बीच लेकर, पैमाने चयन कर सकते हैं क्या हो गया है 3 डी स्कैटर प्लॉट? आप इससे क्या देखने की उम्मीद करते हैं और आप वास्तव में क्या देखते हैं? आपसे आपकी कॉल ['Axes3D.scatter'] पर कोड करें (http://matplotlib.sourceforge.net/mpl_toolkits/mplot3d/tutorial.html#scatter-plots) ठीक लगता है। – Chris
जो मैं 3 डी प्लॉट से देखने की उम्मीद कर रहा हूं वह 2 डी स्कैटर प्लॉट में लाल से हरे रंग के बिंदुओं का रंग ढाल है। मैं 3 डी स्कैटर प्लॉट में जो देखता हूं वह केवल लाल बिंदु हैं। –