PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : How to: Flächendiagramm aus externer Datei?



wikie23
25-06-2010, 22:43
Hi,

ich möchte mit pstricks ein 3d Flächendiagramm aus einer externen Datei erstellen. Die Daten in der Datei liegen als vor Matrix und sind Ergebnisse aus einer Rechnung. Einen Auszug aus der Datei habe ich angehängt. Mit jeder Spalte ändert sich der x-Wert mit gleicher Schrittweite, mit jeder Zeile der y-Wert um einen festen Wert. Diese Matrix möchte ich in einem 3d-Flächendiagramm mit pstricks darstellen.
Bisher stehe ich aber etwas auf dem Schlauch und weiß nicht wie ich das angehen kann. Welchen Befehl brauche ich dafür?? Könnt ihr mir Beispiele geben (eigene oder aus dem Internet) aus denen ich das Vorgehen und die Syntax entnehmen kann??

vielen Dank
wikie

bobmalaria
26-06-2010, 02:42
hi,

schau dir mal pst-3dplo (http://tug.org/PSTricks/main.cgi?file=packages)t an. in der doku findest du einiges zum plotten von datenfiles. da du pstricks erwähnst vermute ich das du damit schon gearbeitet hast?

wenn du bisher mit pdflatex kompiliert hast, dann wär' es vielleicht auch eine option das pgfplots paket zu verwenden.

gruss

voss
26-06-2010, 02:44
ich möchte mit pstricks ein 3d Flächendiagramm aus einer externen Datei erstellen. Die Daten in der Datei liegen als vor Matrix und sind Ergebnisse aus einer Rechnung. Einen Auszug aus der Datei habe ich angehängt. Mit jeder Spalte ändert sich der x-Wert mit gleicher Schrittweite, mit jeder Zeile der y-Wert um einen festen Wert. Diese Matrix möchte ich in einem 3d-Flächendiagramm mit pstricks darstellen.
Bisher stehe ich aber etwas auf dem Schlauch und weiß nicht wie ich das angehen kann. Welchen Befehl brauche ich dafür?? Könnt ihr mir Beispiele geben (eigene oder aus dem Internet) aus denen ich das Vorgehen und die Syntax entnehmen kann??


das Komma in den Daten ist für PSTricks ein Wertetrenner. Du musst es erstmal ersetzen, wenn es wirklich ein dezimales Komma ist.
Weiterhin verstehe ich deine Daten nicht, sind das nur die z-Werte?
Ansonsten sieh dir mal http://tug.org/PSTricks/main.cgi?file=pst-plot/3D/contour an.

Herbert

wikie23
26-06-2010, 09:48
hallo Herbert,

vielen Dank für deinen Hinweis. Ich möchte genau so etwas darstellen, wie in deinem Beispiel als 3d image gezeigt wird.
Ja, in meiner angehängten Datei sind nur die z-Werte enthalten. Ich hab sie nochmal mit den zugehörigen x- und y-Werten angehängt. Muss ich meine Daten wie in deinem Beispiel in der gleichen Form wie in 3d.data darstellen??
Bisher liegen meine Daten in einem Exelfile vor und es wäre eine Menge Arbeit das alles per Hand in das gleiche Format zu bekommen (die ganze Ergebnismatrix ist 50x100 groß). Gibt es dafür einen schnelleren Weg?

vielen Dank
Roman

voss
26-06-2010, 17:09
Ja, in meiner angehängten Datei sind nur die z-Werte enthalten. Ich hab sie nochmal mit den zugehörigen x- und y-Werten angehängt. Muss ich meine Daten wie in deinem Beispiel in der gleichen Form wie in 3d.data darstellen??
Bisher liegen meine Daten in einem Exelfile vor und es wäre eine Menge Arbeit das alles per Hand in das gleiche Format zu bekommen (die ganze Ergebnismatrix ist 50x100 groß). Gibt es dafür einen schnelleren Weg?


sicher, wenn die xy-Werte eine konstante Differenz aufweisen,
brauchen wir sie nicht. Stelle die komplette Datei irgenwie zur Verfügung.
Komme aber frühestens heute abend zum Testen (nach kalifornischer
Zeit ...)

Herbert

wikie23
26-06-2010, 21:07
Hallo Herbert,

das wäre super, wenn du dir das ganze mal anschaust. Ich bin mir nicht sicher, in welchem Format du die Werte gerne hättest. Ich hab dir deshalb eine .txt angehängt mit nur den z-Werten, eine .txt mit x-,y-,z-Werten und einemal das Exel-file wie es mir vorliegt.
Im ganzen habe ich 6 solcher Ergebnismatritzen. Wäre also super wenn man die Daten ohne viel rumkopieren einfach einlesen könnte.

vielen Dank
wikie

voss
27-06-2010, 05:47
das wäre super, wenn du dir das ganze mal anschaust. Ich bin mir nicht sicher, in welchem Format du die Werte gerne hättest. Ich hab dir deshalb eine .txt angehängt mit nur den z-Werten, eine .txt mit x-,y-,z-Werten und einemal das Exel-file wie es mir vorliegt.
Im ganzen habe ich 6 solcher Ergebnismatritzen. Wäre also super wenn man die Daten ohne viel rumkopieren einfach einlesen könnte.


es reicht, wenn die z-Werte als Datei mit
/contourdata[
...
] def
vorliegen. Die z-Werte sind ein wenig problematisch, da sie alle in einem
kleinen Intervall um 4000 liegen. Habe jetzt nur mal überall 4000
(automatisch abgezogen). Hast du irgendwo ein Bild, was ungefähr
herauskommen müsste, denn das, was ich hier bekomme, ist ja eher
unwahrscheinlich. In den Daten solltest du als Trenner nicht den Tabulator,
sondenr ein Leerzeichen verwenden! Unter Linux kann man das zwar
einfach ändern, aber Windows ist da etwas anstrengender ...

Hier mei nBeispiel mit einer Dateidatei z.dat

Herbert

voss
27-06-2010, 05:54
[und die fehlenden Anhänge

wikie23
27-06-2010, 09:22
Hallo Herbert,

vielen Dank für deine Mühe. Ich hab die Daten mal mit Matlab geplottet, damit du dir vorstellen kannst wie es aussehen soll. Die z-Werte habe ich durch 1000 geteilt. Ich habe auch ausversehen nur eine 50x90 Matrix geplottet aber zum Verständnis dürfte es ja reichen.

grüße
wikie

voss
28-06-2010, 19:42
Ich hab die Daten mal mit Matlab geplottet, damit du dir vorstellen kannst wie es aussehen soll. Die z-Werte habe ich durch 1000 geteilt. Ich habe auch ausversehen nur eine 50x90 Matrix geplottet aber zum Verständnis dürfte es ja reichen.


angehängt, was ich bekomme. Habe keinen Schimmer, warum die Farben
nicht besser rauskommen.

Herbert

wikie23
29-06-2010, 09:02
Hallo Herbert,

kannst du mir bitte die .tex-Datei auch hochladen, mit der du die Grafik erstellt hast. Dann kann ich damit auch ein wenig rumspielen :-)

Danke
wikie