2017-12-20 9 views
0

Ich weiß Gnuplot nicht so viel und ich fand keine wertvollen Informationen über das, was ich will. Ich möchte ein Boxplot aus einer Datendatei zeichnen.Gnuplot boxplot Informationen

  • Wie ist das Format der Datei?
  • Ist es notwendig, Mittelwert, qc usw. zu berechnen?

Was Ich mag würde zu tun ist, eine boxplot zu ziehen (kein Histogramm). Eigentlich habe ich xlsx-Dateien, die ich in CSV konvertieren kann, aber ich weiß nicht, ob wir mit csv einen Boxplot zeichnen können. Die Demos auf Gnuplot sind nicht wirklich explizit.

+0

Durch „Ziehen einer Box“ (kürzer würde plot for [i=1:3] $data using (i-1):i sein) meinen Sie, Sie als Histogramm-Datei zeichnen wollen? Wie können wir das Format Ihrer Datei kennen, wenn wir nicht wissen, was es ist? Bitte posten Sie einen Code/mehrere Wörter, um zu klären, was Sie erreichen möchten. – Ptheguy

+0

Ein Boxplot ist ein Boxplot, ich kann nicht präziser sein. Und für die Datei habe ich hinzugefügt, was ich bisher habe, aber ich frage tatsächlich nach Informationen, weil ich nicht weiß, was ich verwenden soll. – Ecterion

+0

Die Dokumentation ist ziemlich eindeutig über das Format zu verwenden: Verwenden Sie z. B. "Plot" -Datei "u (1): 2 mit Boxplot", um die Daten in der zweiten Spalte als Boxplot bei x = 1 zu plotten. Alle notwendigen Werte werden von gnuplot berechnet. – Christoph

Antwort

1

Hier ist ein sehr einfaches Beispiel eines boxplot:

$data <<EOD 
1 
2 
3 
4 
5 
6 
EOD 

plot $data using (0):1 with boxplot 

Dies ist ein boxplot die in Spalte 1, alle statistischen Werte angegebenen Werte verwenden, werden durch gnuplot berechnet wird, und zeichnet es auf x-Position 0. ($data ist nur eine bequeme Möglichkeit, Inline-Daten zu beschreiben, aus einer Datei mit einer einzigen Spalte Plotten auf die gleiche Weise arbeiten mit plot 'file.dat' using (0):1 with boxplot)

Sie können beliebig viele Spalten verwenden, wie Sie wollen, wie

$data <<EOD 
1 1 1 
2 2 4 
3 3 5 
4 3 5 
5 4 6 
6 6 6 
EOD 

set style data boxplot 
plot $data using (0):1, '' using (1):2, '' using (2):3 

enter image description here

+0

Danke für Ihre Antwort. Weißt du, wie du mit Floats umgehen kannst? Es scheint, dass es Probleme beim gnuplot verursacht. – Ecterion

+0

Das einzige Ding, das mit Hin- und Herbewegungen in den Daten schief gehen kann, ist das Dezimaltrennzeichen. Verwenden Sie '.' oder' set decimignesign locale', https://Stackoverflow.com/a/18186919/2604213 – Christoph

+0

Vielen Dank Ich habe herausgefunden, die PB. Weißt du aber, wie ich einen Titel mit einer for-Schleife zur Zeile hinzufügen könnte? Der Titel wird mit einer Zahl wiederholt, die der Schleifengröße entspricht, und ich habe Schwierigkeiten, dies zu vermeiden. – Ecterion