Wie zeichne ich eine 3D -Patch -Sammlung in Matplotlib auf?Python

Python-Programme
Anonymous
 Wie zeichne ich eine 3D -Patch -Sammlung in Matplotlib auf?

Post by Anonymous »

Ich versuche, mit drei Kreisen ein 3D -Diagramm in Matplotlib mit drei Kreisen zu erstellen, die jeweils am Ursprung zentriert sind, und mit einem Radius von 1, der in unterschiedliche Richtungen zeigt - um eine Kugel mit Radius 1 zu veranschaulichen, z. In 3D habe ich Probleme, die Patches überhaupt zu sehen, geschweige denn in verschiedene Richtungen zu orientieren. < /P>

Code: Select all

import matplotlib
import matplotlib.pyplot as P
import mpl_toolkits.mplot3d as M3

fig = P.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
circles = matplotlib.collections.PatchCollection(
[matplotlib.patches.Circle((0, 0), 1) for count in range(3)],
offsets=(0, 0))
M3.art3d.patch_collection_2d_to_3d(circles, zs=[0], zdir='z')
ax.add_collection(circles)
P.show()
< /code>

Ausführen dieses Programms füllt das gesamte Plotfenster mit Blau, d. H. Die Gesichtsfarbe der Patches, egal wie ich das Diagramm drehe. Wenn ich in der PatchCollection () 
aufrufen kann () non ', wird ein leerer Achsen3d angezeigt. Überall. Ich würde erwarten, entweder Zs = 0 (ein Z-Koordinat für alle drei Patches) oder ZS = [0,0,0] (ein separater Z-Koordinat für jeden Patch) zu setzen, aber beide werfen einen Fehler aus:


[*] Um die Patches anders auszurichten, würde ich erwarten, dass ich in der Lage sein würde, etwas wie zdir = ['x', 'y', 'z'] zu übergeben, aber die Ergebnisse unterscheiden sich nicht, ob ich diese oder 'z' oder ['Z'] . Ax.Add_Collection3D (Kreise, Zs = [0, 0, 0], Zdir = ['x', 'y', 'z']) < /code> Anstatt die Patch -Sammlung von 2D von 2D in 3D zu konvertieren, aber das löst auch einen Fehler aus:

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post