PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 3D Plane Grid mit PSTricks



Bilbo
22-05-2009, 11:53
Hallo,

ich versuche gerade mehrere Datensätze in einen 3D Plane Grid mit PSTricks darzustellen. Leider komme ich nicht weiter.

Die leere Grafik wird mit folgendem Code erstellt:



\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{pstricks}
\usepackage{pst-plot}
\usepackage{pst-node}
\usepackage{pst-3dplot}

\begin{document}

\readdata{\data}{test.csv}
\begin{pspicture}(-4,-3.5)(7,5)
\psset{Beta=25,Alpha=45,subticks=7}
\pstThreeDCoor[xMin=0,yMin=0,zMin=0,xMax=7,yMax=7,zMax=7,linewidt h=1.5pt]
\psset{linewidth=0.1pt,linecolor=lightgray}
\pstThreeDPlaneGrid(0,0)(7,7)
\pstThreeDPlaneGrid[planeGrid=xz](0,0)(7,7)
\pstThreeDPlaneGrid[planeGrid=yz](0,0)(7,7)
\end{pspicture}

\end{document}


Der Datensatz (test.csv) könnte z. B. so aussehen:



45787.6768;57090.3488;13686.7689
46787.6768;56590.3548;18698.7389
46589.6768;56389.3848;18883.7689
49389.6478;54799.3568;13396.7499
46578.6458;54899.3567;19628.3679


Dabei ist soll die 1. Spalte x sein, die 2. Spalte y und die 3. Spalte z. Das Ganze möchte ich gerne als kleine Punkte in dem Grid darstellen lassen.

Gruß,
Bilbo

voss
22-05-2009, 13:49
ich versuche gerade mehrere Datensätze in einen 3D Plane Grid mit PSTricks darzustellen. Leider komme ich nicht weiter.

Der Datensatz (test.csv) könnte z. B. so aussehen:



45787.6768;57090.3488;13686.7689
46787.6768;56590.3548;18698.7389
46589.6768;56389.3848;18883.7689
49389.6478;54799.3568;13396.7499
46578.6458;54899.3567;19628.3679


Dabei ist soll die 1. Spalte x sein, die 2. Spalte y und die 3. Spalte z. Das Ganze möchte ich gerne als kleine Punkte in dem Grid darstellen lassen.



\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{pst-3dplot}
\usepackage{filecontents}

\begin{filecontents*}{test.csv}
45787.6768 57090.3488 13686.7689
46787.6768 56590.3548 18698.7389
46589.6768 56389.3848 18883.7689
49389.6478 54799.3568 13396.7499
46578.6458 54899.3567 19628.3679
\end{filecontents*}

\begin{document}

\readdata{\data}{test.csv}
\begin{pspicture}(-4,-3.5)(7,5)
\psset{Beta=10,Alpha=45,subticks=7}
\pstThreeDCoor[xMin=0,yMin=0,zMin=0,xMax=7,yMax=7,zMax=7,linewidt h=1.5pt]
\psset{linewidth=0.1pt,linecolor=lightgray}
\pstThreeDPlaneGrid(0,0)(7,7)
\pstThreeDPlaneGrid[planeGrid=xz](0,0)(7,7)
\pstThreeDPlaneGrid[planeGrid=yz](0,0)(7,7)
\listplotThreeD[unit=0.0002,linecolor=blue,plotstyle=dots,dotscale =2]{\data}
\end{pspicture}

\end{document}


Herbert

Bilbo
22-05-2009, 14:11
Danke Herbert.

Was ich vergessen hatte zu erwähnen ist, dass ich noch eine Achsenbeschriftung brauche die sich automatisch an die Werte der Daten anpasst.

Wenn man jetzt hunderte von Daten hat, würdest du dann auch empfehlen diese zwischen \begin{filecontents*} und \end{filecontents*} in der Präambel aufzurufen oder besser direkt einlesen?

voss
22-05-2009, 14:48
Was ich vergessen hatte zu erwähnen ist, dass ich noch eine Achsenbeschriftung brauche die sich automatisch an die Werte der Daten anpasst.

Wenn man jetzt hunderte von Daten hat, würdest du dann auch empfehlen diese zwischen \begin{filecontents*} und \end{filecontents*} in der Präambel aufzurufen oder besser direkt einlesen?

eine automatische Achsenbeschriftung gibt es noch nicht. Es ist lange her,
dass ich mit dem Paker rumgespielt habe. Sieh mal in der Doku nach, wie
man überhaupt die Achsen getrennt nach x,y,z beschriften kann.

Herbert

Bilbo
22-05-2009, 14:56
Keines der Beispiele in der Doku zu pst-3dplot ist beschriftet. Das ist sicherlich ein Punkt den ich mir für die Zukunft wünschen würde.

Problem ist ja, dass dieses Paket eigentlich für 3D Objekte entwickelt wurde, wo man Achsenbeschriftungen eigentlich nicht braucht.

pstricks-add hingegen gefällt mir richtig gut. Nur leider scheinen damit keine 3D plots möglich. Komischerweise ist das ein Testpaket, wobei ich dies als ein wichtiges Paket mit noch viel Potential sehe.

Bilbo
22-05-2009, 19:55
Ich bekomme die Achsenbeschriftung leider nicht hin und \psaxes scheint nur für 2d plots zu funktionieren.

voss
22-05-2009, 20:53
Ich bekomme die Achsenbeschriftung leider nicht hin und \psaxes scheint nur für 2d plots zu funktionieren.


\documentclass{scrreprt}

\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{pst-3dplot}

\begin{document}

\readdata{\data}{test.csv}
\begin{pspicture}(-4,-3.5)(7,5)
\psset{Beta=10,Alpha=45,subticks=7}
\pstThreeDCoor[xMin=0,yMin=0,zMin=0,xMax=7,yMax=7,zMax=7,linewidt h=1.5pt]
\multido{\iA=1+1,\iB=10+10}{5}{\pstPlanePut[plane=xz,planecorr=normal](\iA,0,0.05){\iB}}
\end{pspicture}

\end{document}


Herbert