से 3 डी प्लॉट बनाना ठीक है, इसलिए मुझे लगता है कि matplotlib का उपयोग करके 3-आयामी स्कैटर प्लॉट बनाने का एक आसान तरीका होना चाहिए। मैं 0 के साथ एक 3 डी numpy सरणी (dset
) जहां मैं एक बिंदु नहीं चाहते हैं और है 1 के जहाँ मैं, मूल रूप से अब यह साजिश कि मैं इस तरह के रूप में तीन for:
छोरों से निकलने के लिए है:3 डी numpy array
for i in range(30):
for x in range(60):
for y in range(60):
if dset[i, x, y] == 1:
ax.scatter(x, y, -i, zdir='z', c= 'red')
कोई सुझाव मैं इसे और अधिक कुशलता से कैसे पूरा कर सकता हूं? किसी भी विचार की बहुत प्रशंसा की जाएगी।
सुंदर दे रही है। मेरे पास '(d> 3.4) .nonzero()' भाग के बारे में कोई सवाल है, क्या वह केवल उन स्थानों को वापस कर देगा जहां डी का मूल्य 3.4 से अधिक है? – pter
@pter: बिल्कुल सही। '(डी> 3.4) 'एक बूलियन सरणी को' सही 'के साथ' डी' के समान आकार देता है जहां प्रविष्टि> 3.4 और 'गलत' कहीं और है। – DSM
मीठा मुझे इस बारे में पता नहीं था (आमतौर पर 3 डी प्लॉट की आवश्यकता नहीं होती है ... लेकिन अगर मैं ऐसा करता हूं तो यह बहुत ही अच्छा होगा!) धन्यवाद डीएसएम –