PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gnuplot



Platin
10-04-2011, 20:26
Hey,

ich weiß das hier ist kein Gnuplot-forum, aber ich weiß nicht wo ich sonst sowas posten kann. Sitze schon den ganzen Tag an folgendem Problem:
Ich versuche in Gnuplot ein Histogramm mit Fehlerbalken zu erstellen. Das Problem hierbei ist, das ich für ein und den selben x-Wert 2 verschiedene Y-Werte habe. Ich möchte es wie in Excel haben. Also als x-Wert zb. bei mir NH3 und dann 2 Y-Werte, zum Bsp 2 Konzentrationen für 2 Versuche. An jeden der gemessenen Werte möchte ich noch einen relativen Fehler angeben.
Aber wenn ich das mache, dann überlagert mit gnuplot einfach die Balkendiagramme. Von der Sicht auch logisch, weil für ein x-Wert ja nun mal 2 Y-Werte existieren. Aber ich glaube nicht das ein grafikprogramm wie gnuplot an solchen trivialen Sachen scheitert ?!
Wisst ihr Rat?
Hier mein Code:


reset

cd 'Oberpfad'
set terminal epslatex color size 7cm,5cm

set label "Normalised Concentration [-]" at screen 0.005, screen 0.08 rotate by 90
unset title
set key top right
set style data histogram
set style histogram cluster gap 1
set style fill solid border -1
set boxwidth 0.2
set xtic rotate by -45 scale 0
set xtics ("NH3" 0, "CO" 1, "S" 2, "N" 3)
set lmargin 6
set bmargin 3
set rmargin 2
set tmargin 1
set output "experiemente.tex"
plot [:][0:5] 'Pfad\exp_1.txt' t "Exp" fs pattern 5 lc rgb "green" with boxerrorbars, 'Pfad\exp_2.txt' t "Sim" fs pattern 3 lc rgb "red" with boxerrorbars
set output



Eine beispielhafte Textdatei sieht so aus:


1 1 0.75 1.5 0.1
2 1 0.1 1.7 0.1
3 1 0.19 1.2 0.1
4 1 0.5 1.9 0.1

In der 2. Spalte stehen die Mittelwerte. In der 3 und 4. Spalte die Mittelwerte mit Fehler nach unten bzw oben und in der 5. Spalte die Balkenstärke vom Diagramm.
Genauso eine 2te Datei habe ich auch noch fürs 2te exp. aber wie gesagt schaffe ich es nur beide übereinander zu legen nicht nebeneinander.

Ich komme einfach nicht weiter !!

bobmalaria
10-04-2011, 21:07
hi,

schau mal die seite (http://www.codealias.info/technotes/gnuplot_cluster_histogram_example) an.

damit konnte ich recht einfach schon mal ein diagram wie dieses erstellen
http://www.mrunix.de/forums/attachment.php?attachmentid=4475&stc=1&d=1302465972

Platin
11-04-2011, 17:35
Hey Bobmalaria,

danke für deine Antwort.
ja das ist kein Problem. Aber bekommst du das auch hin wenn ich für set 1, set 2 und set 3 Fehlerbalken miteinfügen möchte ? Das ist mein Problem an dem ich schon ewig sitze.
also die endung w boxerrors noch ran an die datensätze. Das geht nicht so einfach. Das Problem da ist das die Datenstrucktur für die Inputs bereits so festgelegt ist das man 5 spalten hat. In der 1sten stehen nur zahlen von 1 bis n. in der zweiten die eigentlichen gemessenen werte. In der 3ten die Messwerte + Abweichung nach unten, in der 4ten die Messwerte + Abweichungen nach oben.
Wenn ich also 2 Datensätze habe dann habe ich 2 txt files mit je 5 spalten. Datensatz 1=exp_1 und Datensat2 = exp_2.
Wenn ich da ganze dann in der form schreibe:



plot 'exp_1.dat' w boxerrorbars, 'exp_2.dat' w boxerrorbars....


Dann wird der erste datensatz vom 2ten überplottet !


Grüße

bobmalaria
11-04-2011, 18:10
hi,

dann musst du wohl in deinen fehlerspalten den messwer abziehen. ein fehler ist ja die abweichung zum messwert und nicht messwert+fehler. das laesst sich eventuell in gnuplot sirekt machen, oder aber im entsprechenden tabellen-calc programm.

ich schau es mir mal an wenn ich zeit habe

Platin
11-04-2011, 20:52
Hey danke für deine Hilfe.
Ich habe es gerade hinbekommen.
Man musste die x-Achse des 2. Datensatzes verschieben.

Grüße