Ok, więc wydaje mi się, że powinien istnieć łatwy sposób utworzenia 3-wymiarowego wykresu rozrzutu za pomocą matplotlib. Mam 3D numpy array (dset
) z 0 na którym nie ma punktu, a 1 jest gdzie ja, w zasadzie do wykreślenia go teraz muszę przejść przez trzy for:
pętli jako takie:Tworzenie wykresu 3D z tablicy 3D numpy
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')
Wszelkie sugestie o tym, jak mogłem to zrobić bardziej efektywnie? Wszelkie pomysły będą mile widziane.
piękne. Mam pytanie dotyczące części '(d> 3.4) .nonzero()', czy zwrócą one tylko te miejsca, w których d ma wartość większą niż 3.4? – pter
@pter: dokładnie w prawo. '(d> 3.4)' daje tablicy boolowskiej taki sam kształt jak 'd' z' True', gdzie pozycja jest> 3.4 i 'False' gdzie indziej. – DSM
słodki Nie wiedziałem o tym (zwykle nie potrzebuję działek 3D ... ale jeśli to zrobię, będzie niesamowite!) Dzięki DSM –