Latex und spezielles Balkendiagramm

Gast #4439059
Lesenswert?

Hallo,

ich habe folgendes Problem und finde keine Lösung im Internet oder über 
das Manual.

Es geht um das zeichnen von pgfplots in Latex.

Ich habe eine csv Datei, in der in einer Zeile ein bis mehrere 3-Tupel 
stehen können.

In etwa so:
1
100 (A,20,23),(B,25,26)
2
200 (B,12,18)
3
300 (B,17,20),(C,22,30)

Jetzt möchte ich gerne ein horizontales Balkendiagramm daraus erzeigen.

Die gegebenen Koordinaten in einer Zeile (Im Tupel an Position 2 und 3) 
sollen nun zu einem Balken zusammengebaut werden. Der String an Position 
1 im Tupel soll auch einer Farbe zugeordnet werden.
Sagen wie A = rot, B = grün, C = gelb.
So würde nun ein Balken mit Beschriftung 100 aus einem roten Stück von X 
= 20 bis X = 23 und aus einem grünen Stück von X = 23 bis X = 26 
bestehen.

Für 200 und 300 Analog.

In ASCII in etw so:
1
                   AAAA BB
2
           BBBBBBB
3
                BBBB CCCCCCCCC
4
^
5
|
6
0,0->
Ich habe einige Sachen im Manual und auf der Demo Seite gefunden, aber 
diese haben die geben die Koordinaten als Stacked an (also keine Lücken 
sich möglich) und weiterhin ist die Anordnung bei denen nicht in Zeilen, 
sondern in Spalten.

hat eventuell jemand eine Ahnung wie ich das generieren kann?

Danke
#4439258
Lesenswert?

Das nennt sich "Gantt-Chart". Male einfach "breite Linien" und setzte 
"unbounded coords = jump". Deine "CSV" musst du natürlich umformatieren:
1
\addplot[color = Acolor, line width = 10pt] coordinates { (20, 100) (23,100) };
2
\addplot[color = Bcolor, line width = 10pt] coordinates { (25, 100), (26, 100) };

Auch für gnuplot ist deine "CSV" ungeeignet.

PS: Deine Daten passen nicht zu deiner Grafik.
PPS: "CSV" und Tupel beißen sich; da passt was nicht.
#4439457
Lesenswert?

Ich mache so etwas mit PSTricks. Das erlaubt Dir größtmögliche 
Flexibilität und liefert sehr gute Ergebnisse. PSTricks ist eine 
Sammlung von Makros, die es erlauben, PostScript-Grafiken in TeX oder 
LaTeX einzubinden. Du kannst damit elementare Grafikelemente wie Linien, 
Kurven oder Kreise erzeugen. Alles was Du brauchst ist ein kleines 
Skript in der Sprache Deiner Wahl (Perl, Python, meinetwegen auch Basic, 
was immer Du willst), welches Deine Parameter einliest und die 
entsprechenden Grafikelemente generiert. Die fügst Du dann einfach in 
Dein LaTeX-Dokument ein. Bei Deinem Problem ist der Aufwand sehr 
überschaubar.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren