www.mikrocontroller.net

Forum: PC Hard- und Software Gnuplot: Wie folgende Grafik zeichnen?


Autor: Maxim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe vier Messreihen mit jeweils zehn Messwerten. Dabei wurde die 
Amplitude in Abhängigkeit von der Frequenz gemessen. Bei den Messreihen 
kamen aber zum Teil unterschiedliche Frequenzen vor.

Ich möchte die Frequenz als x-Achse und die Spannung als y-Achse haben 
und die Spannung soll logarithmisch aufgetragen werden. Zudem sollen die 
benachbarten Messpunkte der jeweiligen Messreihe miteinander verbunden 
sein.

Wie heißt der passende Befehl in Gnuplot, der so eine Darstellung 
erlaubt?

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie liegen die Daten vor? Hast du eine Beispieldatei?

Autor: zwieblum (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
schau mal da rein ...

Autor: Maxim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
f_n/Hz  U_6/V  U_1/V
1000  1  1
1500  0,72  1,4
2000  0,54  1,7
3000  0,28  2
4000  0,15  2,1
4500  0,13  2,1
5000  0,1  2,1
6000  0,07  2,2
7000  0,05  2,2
3500  0,2  2

Hab sie in Excel. Aber die lassen sich auch als CSV exportieren.
Problem ist, dass ich noch nie etwas mit Gnuplot gemacht habe und meine 
erste Aufgabe nicht gerade die einfachste ist.

Autor: Maxim (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
wenn ich plot 'messreihe1.txt' eingebe, beschwert er sich über 
nichtdefinierten wertebereich (empty y range [0:0], adjusting to 
[-1:1]). Die Werte bekomme ich aber nicht zu sehen bzw. sie liegen alle 
auf der x-Achse.

Autor: Jochen S. (schiffner)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ersetz mal die Kommas durch Punkte.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
>ersetz mal die Kommas durch Punkte

Das war schon die halbe Miete. Für den Rest probiers mit
     plot 'messreihe1.txt' using 1:2 with lines

MfG

Autor: yalu (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist ein Anfang, den du nach Gutdünken modifizieren oder erweitern
kannst. Das Ergebnis ist im Anhang zu sehen.
set term wxt enhanced  # Ausgabe in wxWidgets-Fenster mit enhanced Text-Mode
set style data lines   # Messwerte als Linienzug darstellen
set logscale x         # x-Achse logarithmisch
set grid xtics mxtics ytics mytics  # Gitterlinien
set decimalsign locale # Dezimalzeichen aus Ländereinstellungen übernehmen
set format x "10^%T"   # Zahlenwerte der x-Achse im Exponentialformat
set format y "%.1f"    # Zahlenwerte der y-Achse mit einer Nachkommastelle
set xrange [1e3:1e5]   # x-Wertebereich
set yrange [0:3]       # y-Wertebereich
set xlabel "f/Hz"      # x-Achsenbeschriftung
set ylabel "U/V"       # y-Achsenbeschriftung

# Plotbefehl:
# 1. Kurve: Datei messreihe.txt, x-Werte aus Spalte 1, y-Werte aus Spalte 2
#           Legendenbeschriftung U_3
# 2. Kurve: Datei wie 1.Kurve, x-Werte aus Spalte 1, y-Werte aus Spalte 3
#           Legendenbeschriftung U_1
plot "messreihe.txt" using 1:2 title "U_3", \
     "" using 1:3 title "U_1"
pause -1               # Warten auf Enter-Taste

Ich habe das Bild mit Gnuplot 4.2 patchlevel 5 unter Linux erzeugt. In
messreihe.txt habe ich die Zeile mit der Frequenz 15000 zwischen die
10000 und die 20000 verschoben, damit die Frequenzen aufsteigend
sortiert sind. Die Dezimalkommas habe ich als solche belassen und hoffe,
dass unter Windows das Dezimaltrennzeichen aus den "Ländereinstellungen"
genommen wird.

Das Programm enthält recht viele Befehle, um möglichst viele der
relevanten Einstellmöglichkeiten zu zeigen. Du kannst einige davon
weglassen, dann werden eben die Defaulteinstellungen verwendet.

Hinter jedem Befehl steht einen kurzen Kommentar. Detailliertere
Informationen erhältst du mit der Hilfefunktion von Gnuplot oder über
das Manual.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon hart manchmal, hier sind Leute einfach nur zu faul, Dokumentation 
zu lesen und Leute wie yalu machen sich auch noch die Arbeit, alles 
vorzukauen. Und das auch noch, obwohl es offensichtlich eine bewertete 
Aufgabe ist

Autor: Maxim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist keine bewertete Aufgabe (damit meinst du wohl sowas wie 
Hausaufgaben) und ich bin nicht zu faul sondern hatte keine Zeit, mich 
mit der Dokumentation auseinanderzusetzen.

Ansonsten Danke an alle, die mir geholfen haben.

Welche Software eignet sich sonst noch für Darstellungen von 
Daten/Funktionen? Wir haben an der Uni Mathematica, Mapple und Matlab. 
Welches Programm ist am besten geeignet oder ist es eher Geschmacksache?

Autor: Michael M. (technikus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Maxim schrieb:
> Welche Software eignet sich sonst noch für Darstellungen von
> Daten/Funktionen? Wir haben an der Uni Mathematica, Mapple und Matlab.

Mapple ist wohl die Apple-Version von Maple.

> Welches Programm ist am besten geeignet oder ist es eher Geschmacksache?
Am besten ist immer das Programm, mit dem man sich auskennt. Wenn Du 
keine Zeit hast, Dich in Gnuplot einzulesen, kannst Du Dir alle drei 
schenken. Das sind Mathe-Expertensysteme, die zu viel mehr gedacht sind, 
als ein paar Meßdaten zu visualisieren. Daher muß man sich erstmal in 
deren "Programmiersprache" einarbeiten, bevor man bunte Plots bekommt.
Wenn Du Origin (www.originlab.com) zu Verfügung hast, bekommst Du bei 
geringerem Arbeitsaufwand damit schneller schöne Auftragungen. Origin 
ist genau dafür ausgelegt, Meßdaten zu plotten, zu analysieren 
(Mittelwert, Standardabweichung, ...) und Funktionen darauf anzupassen. 
Die Studentenversion ist imho sogar erschwinglich.

Servus
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.