2016-07-21 28 views
2

Für ein Projekt muss ich ein Floating-Balkendiagramm erstellen, das eine große Datenmenge enthält. Um alles auf einen einzigen Graphen zu bringen, müssen die Balken in einer Linie liegen. Ich versuche, das Foto unten zu emulieren, außer mit noch mehr Daten.Wie erstelle ich ein überlappendes Balkendiagramm?

Ideal Chart

ich den Schöpfer des Graphen gesprochen, und er sagte, er sorgfältig jedes Feld zieht. Ich versuche dies zu vermeiden, indem ich andere Programme verwende. Meine Versuche mit Excel waren jedoch Fehler. Ich habe mir Graphviz und gnuplot angeschaut, aber ich konnte nichts finden, was mich bei der Erstellung eines solchen Diagramms helfen könnte.

Jede Hilfe wird geschätzt.

+0

welche Art von Grafik möchten Sie machen? Wie sieht Ihr Datenlayout in Excel aus, ist es eine Tabelle? Sie möchten also nur ein Balkendiagramm Ihrer Daten erstellen? –

+0

Ja, mein Datenlayout befindet sich derzeit in Excel. Ich habe im Grunde ungefähr 300 Chemikalien mit Konzentrationsbereichen für jeden. (Bsp: Na-6 nM bis 12 nM, Cu-10 nM bis 30 nM usw.). Ich versuche, dies grafisch darzustellen (wie das angehängte Bild im OP), aber ich kann kein Programm dafür finden. –

Antwort

0

Wenn Sie es vertikal anstatt horizontal erstellen (und danach rotieren), denke ich, gnuplot kann es sinnvollerweise tun. Sie haben alle notwendigen Werkzeuge, um die Drehung zu bereiten, da beide tics und labels beliebig (rotate by)

So gedreht werden, wenn Ihre Daten ist von der Art:

Cu 10 30 

Sie konnte:

unset ytics 
unset xtics 
unset key 
set y2tics rotate 
set boxwidth 1 
NLines=5 
plot "f.dat" u ($0 % NLines):2:2:3:3 w candlest fs solid, "f.dat" u 0:(($2+$3)/2):1 w labels rotate 

Das Bit, das Gnuplot nicht selbst tun wird, ist zu entscheiden, welche Zeile (x-Koordinate im Plot vor der Drehung) die einzelnen Kästchen markiert. Wenn Sie die Anzahl der Zeilen wie in Ihrem Beispiel optimieren möchten, müssen Sie Ihre Daten zuerst übergeben, um ihnen jeweils eine Zeilennummer zuzuweisen. Dies kann bei Bedarf in gnuplot gemacht werden, aber dies ist nicht das beste Werkzeug dafür. Vorerst sind die Boxen auf NLines verschiedene Zeilen in der Reihenfolge des Aussehens (Label 0 entspricht Zeilennummer in Datei, % ist Modulo-Operator)