2013-03-14 10 views
6

Ich versuche, einen Datensatz zu visualisieren, den ich habe (in Java, aber das ist nicht so wichtig) mit gnuplot. Ich könnte ein paar verschiedene Fragen dazu stellen, aber für den Moment: Angenommen, meine Daten sind kategorisch, und für jede Kategorie habe ich Quartile 1,2,3, das Minimum und Maximum und das Gesamtgewicht der Samples in dieser Kategorie (aber nicht die tatsächlichen Probendaten). Ich möchte dies mit GNUplot 'Candlesticks' darstellen. Ich kann dies fast erhalten:Wie kann ich Box- und Whisker-Plots mit variabler Boxbreite in gnuplot erzeugen?

the 'candlesticks' plot

Ausnahme, dass das Gewicht der Proben mit der Box Breite sichtbar zu machen.

Kann dies in einem gnuplot 'Candlesticks' Plot getan werden? Ein anderer Weg?

Hinweis: Ich bin vor allem daran interessiert, dies mit Gnuplot zu tun. Andere Vorschläge sind nur dann willkommen, wenn sie leicht skriptfähig sind und nicht zu viel zusätzliche Software installieren müssen.

Antwort

12

Ok, hab es.

Beispielskript:

set terminal pngcairo transparent enhanced font "arial,10" fontscale 1.0 size 500, 350 
set output 'candlesticks.png' 
set boxwidth 0.2 absolute 
set title "Box-and-whisker plot with median bar, whiskerbars, and variable box width" 
set xrange[0:5] 
set yrange[0:25] 

# Data columns: X Min 1stQuartile Median 3rdQuartile Max BoxWidth Titles 

# set bars 4.0 
set style fill empty 
plot 'data.txt' using 1:3:2:6:5:7:xticlabels(8) with candlesticks title 'Quartiles' whiskerbars, \ 
    ''   using 1:4:4:4:4:7 with candlesticks lt -1 notitle 

Beispielinhalt von data.txt:

# Data columns: X Min 1stQuartile Median 3rdQuartile Max BoxWidth Titles 
1 5 7 10 15 24 0.3 Quick 
2 6 8 11 16 23 0.4 Fox 
3 5 7 11 17 22 0.5 Lazy 
4 6 9 10 18 21 0.3 Dog 

(. Und beachten Sie, dass # Linien sind nur Kommentare, wir nicht wirklich Spaltennamen angeben)

Das Ergebnis:

Plot