Domande frequenti su mplot3d #
In che modo mplot3d è diverso da Mayavi? #
Mayavi è una libreria grafica 3D molto potente e ricca di funzionalità. Per scene 3D avanzate e capacità di rendering eccellenti, si consiglia vivamente di utilizzare Mayavi.
mplot3d aveva lo scopo di consentire agli utenti di creare semplici grafici 3D con lo stesso "look-and-feel" dei grafici 2D di matplotlib. Inoltre, gli utenti possono utilizzare lo stesso toolkit con cui hanno già familiarità per generare i propri grafici 2D e 3D.
La mia trama 3D non sembra corretta a determinati angoli di visualizzazione #
Questo è probabilmente il problema più comunemente segnalato con mplot3d. Il problema è che, da alcuni angoli di visione, un oggetto 3D apparirebbe davanti a un altro oggetto, anche se è fisicamente dietro di esso. Ciò può portare a trame che non sembrano "fisicamente corrette".
Sfortunatamente, mentre si sta lavorando per ridurre il verificarsi di questo artefatto, è attualmente un problema intrattabile e non può essere risolto completamente fino a quando matplotlib non supporta il rendering della grafica 3D al suo interno.
Il problema si verifica a causa della riduzione dei dati 3D fino a 2D + scalare di ordine z. Un singolo valore rappresenta la terza dimensione per tutte le parti degli oggetti 3D in una raccolta. Pertanto, quando i riquadri di delimitazione di due raccolte si intersecano, diventa possibile che si verifichi questo artefatto. Inoltre, l'intersezione di due oggetti 3D (come poligoni o patch) non può essere renderizzata correttamente nel motore di rendering 2D di matplotlib.
Questo problema probabilmente non sarà risolto fino a quando il supporto OpenGL non sarà aggiunto a tutti i backend (le patch sono ben accette). Fino ad allora, se hai bisogno di scene 3D complesse, ti consigliamo di utilizzare MayaVi .
Non mi piace come è strutturata la trama 3D, come posso cambiarla? #
Storicamente, mplot3d ha sofferto di un hard-coding di parametri utilizzati per controllare elementi visivi come la spaziatura delle etichette, la lunghezza del segno di spunta e la larghezza della linea della griglia. Si sta lavorando per eliminare questo problema. Per matplotlib v1.1.0, esiste un modo semi-ufficiale per modificare questi parametri. Vedere la nota nella
mplot3d.axis3d
sezione della documentazione dell'API mplot3d per ulteriori informazioni.