ootobbyoo
Anmeldungsdatum: 24. Juli 2013
Beiträge: Zähle...
|
Hallo Leute, ich versuche verzweifelt mit Gnuplot aus einer csv in der Form
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | # x y data
0,1;0,01;3,035931472
0,07;0,014;1,70259288
0,07;0,014;1,70259288
0,0568;0,01336;1,289357016
0,05584;0,015768;0,922280542
0,048112;0,0149024;0,634290969
0,0490816;0,01652032;0,48913928
0,0490816;0,01652032;0,48913928
0,0432928;0,01889056;0,474359592
0,047348992;0,018922278;0,120777433
0,047348992;0,018922278;0,120777433
0,046355092;0,02007395;0,063703482
0,046355092;0,02007395;0,063703482
0,046355092;0,02007395;0,063703482
0,046355092;0,02007395;0,063703482
0,046810804;0,020159138;0,038641261
0,046810804;0,020159138;0,038641261
0,047090312;0,019743275;0,019850582
0,047090312;0,019743275;0,019850582
0,047090312;0,019743275;0,019850582
0,047090312;0,019743275;0,019850582
0,047090312;0,019743275;0,019850582
0,046885277;0,019828528;0,016454834
0,046984458;0,019850214;0,004531136
|
eine 3D Punktewolke zu erstellen. Am Ende soll das Ganze in etwa so aussehen:
http://s1.directupload.net/file/d/3326/3q33479y_jpg.htm Meine bisheriger Code, zum Teil aus Beispielen, läuft leider nicht
| reset
set dummy u,v
set key inside right top vertical Right noreverse enhanced autotitles box linetype -1 linewidth 1.000
set parametric
set autoscale
splot 'points.csv' matrix
|
|
Antiqua
Anmeldungsdatum: 30. Dezember 2008
Beiträge: 4534
|
Mit Dezimal-Punkt, statt Dezimal-Komma gehts hier bei mir.
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
stimmt, jetzt sollen die data Werte (3. Spalte) aber auf die z-Achse... kann man das über Gnuplot tauschen? Würde ungern die Datenfelder ändern, da diese automatisch erzeugt werden. Danke erstmal
|
Prof._Frink
Anmeldungsdatum: 29. Mai 2010
Beiträge: 1096
|
Hey, entweder in Gnuplot set decimalsign locale
set datafile separator ";"
splot "./points.csv" u 1:2:3 oder in der Bash
cat points.csv | tr ",;" ". " > points2.csv und in Gnuplot dann splot "./points2.csv" u 1:2:3 Grüße Frink
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
Hi, Prof. Frink. So klappt es gut, allerdings sind die Achsen immernoch nicht so, wie ich es gerne hätte. mit z.B. | splot "./points.csv" u 3:1:2
|
bekomme ich die Achsen nicht getauscht. Gibt es da eine andere Methode???
|
Prof._Frink
Anmeldungsdatum: 29. Mai 2010
Beiträge: 1096
|
Also bei mir ist die dritte Spalte auf der z-Achse (s. Anhang) und andernfalls könnte man das auch so tauschen, wie du vorschlägst. Irgendwie verstehe ich nicht wo das Problem ist.
- Bilder
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
das ist jetzt seltsam, bei mir ist bei dem code splot "./points.csv" u 1:2:3 die dritte Spalte auf der x-Achse...
- Bilder
|
Prof._Frink
Anmeldungsdatum: 29. Mai 2010
Beiträge: 1096
|
Hm, verstehe ich jetzt auch nicht. Und durch permutieren von 1:2:3 bekommst du es nicht getauscht? Also entweder liegt es an irgendeiner Einstellung, die du vorgenommen hast (versuch es noch mal nach einem Neustart von gnuplot) oder es liegt daran, dass wir unterschiedliche Versionen nutzen (ich nutze: gnuplot 4.6 patchlevel 1), das würde mich in diesem Fall aber sehr wundern. Grüße Frink
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
ich überprüfe das nochmal genau und werde berichten Erstmal vielen Dank für deine Hilfe
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
also, ich hatte beim ganzen Rumprobieren manuell die Spalten in der Quelldatei getauscht. Also jetzt klappt alles! Vielen Dank, hast mir sehr weiter geholfen. Hier nochmal der Code: reset
set pointsize 2
set xlabel "Wärmeübergangskoeffizient {/Symbol a}"
set ylabel "Stoffübergangskoeffizient {/Symbol b}"
set zlabel "Fehler f"
set autoscale
set decimalsign locale
set datafile separator ";"
splot "./points.csv" u 1:2:3
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
ich hab da gleich noch eine Frage: die erstellten Punkte sind Teil einer Fläche: http://s7.directupload.net/file/d/3327/orykls9d_pdf.htm Kann ich die Punkte auch auf die erstellte Fläche setzen? Multiplot?
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
bin schon weiter gekommen: set decimalsign locale
set datafile separator ";"
set table 'point_data.dat'
unset dgrid3d
splot './points.csv' u 1:2:3
unset table
#set pm3d implicit at s
#set pm3d interpolate 1,1 flush begin noftriangles hidden3d 100 corners2color mean
set dgrid3d 50,50,50
set output 'field.pdf'
splot './point_data.dat' u 1:2:3 w points pt 7, \
'./field.csv' u 2:1:3 with lines lt 5 lc rgb "#000000"
set output
exit so sollte es eigentlich klappen, aber die Punkte werden nicht gezeichnet ☹ hat noch jemand ne Idee???
|
Prof._Frink
Anmeldungsdatum: 29. Mai 2010
Beiträge: 1096
|
Sollte das nicht einfach so gehen: set decimalsign locale
set datafile separator ";"
set pm3d
splot './field.csv' u 2:1:3 with p ps 0.0, './point_data.dat' u 1:2:3 w points pt 7 Ich habe die field.csv nicht, deshalb habe ich es nicht getestet. Grüße Frink P.S: Für zusätzliche Fragen solltest du immer einen neuen Thread eröffnen. S. Richtig fragen
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
hey prof. frink, leider nein, die punkte werden nicht dargestellt.. hab die field.csv mal mit angehängt. grüße
- field.csv (268.9 KiB)
- Download field.csv
|
ootobbyoo
(Themenstarter)
Anmeldungsdatum: 24. Juli 2013
Beiträge: 11
|
also, multiplot ist die lösung: set yrange [ 0.001 : 0.027] reverse nowriteback
set xrange [ 0.01 : 0.1 ] noreverse nowriteback
set zrange [ 0 : 9 ] noreverse nowriteback
set decimalsign locale
set datafile separator ";"
set output 'field.pdf'
set multiplot
splot "points.csv" u 1:2:3 w points pt 7 not
set dgrid3d 50,50,50
splot "field.csv" u 2:1:3 with lines lt 5 lc rgb "#000000" not
unset dgrid3d
unset multiplot
set output
exit Problem war wohl die Datentrennung mittels ";". Ohne Legende klappt es aber mit Multiplot sehr gut. Trotzdem danke für die Mühen!
|