CSV mit Tikz nach RGB-Werten plotten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: CSV mit Tikz nach RGB-Werten plotten

von Gastfelix » Mo 12. Jun 2017, 09:12

Perfekt - genau das, was ich gesucht habe. LaTeX überrascht mich echt immer wieder :)

Danke!
Felix

von Bartman » Fr 9. Jun 2017, 20:11

Die fehlerlose Ausführung auf Overleaf ist zwar kein muss, aber Dein Beispiel wird dort ohne \usepackage{filecontents} in der Präambel ausgeführt. Dafür fehlt die Einstellung der Option compat.

Übrigens reicht es, nur pgfplots zu laden. Es lädt pgf/tikz.

Vor ein paar Jahren gab es eine ähnliche Frage auf TeX.SX und der Betreuer von pgfplots antwortete.

von Gastfelix » Fr 9. Jun 2017, 09:15

... bearbeiten geht wohl nicht. Dann fehlt dort natürlich nocht
\usepackage{filecontents}

von Gastfelix » Fr 9. Jun 2017, 09:14

Oh, natürlich - sorry!
\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}

\begin{filecontents*}{data.csv}
x,y,R,G,B
1.76,-0.018,99,190,123
1.66,-0.018,99,190,123
1.24,-0.5784,103,191,123
1.24,-0.5911,108,192,123
1.26,-0.5911,108,192,123
\end{filecontents*}

\begin{document}

\begin{tikzpicture}
    \begin{axis}        
         \addplot+[only marks, mark options={fill=red}, mark size=0.8, red] table [x=x, y=y, col sep=comma] {data.csv};
    \end{axis}
\end{tikzpicture}
\end{document}
Das sollte funktionieren. Ich bin der Meinung, dass man die Datei irgendwie mit der foreach-Schleife durchlaufen kann, aber wie man die RGB-Werte als Variablen auslesen und dann als jeweilige Punktfarbe wieder einfügen kann, ist mir ein Rätsel. Habt ihr da vielleicht Ideen?

von Bartman » Do 8. Jun 2017, 15:27

Wenn Du ein Minimalbeispiel anbietest, können auch andere Deine "schöne 2D-Fläche mit den Achsen MW und GA" sehen.

CSV mit Tikz nach RGB-Werten plotten

von Gastfelix » Do 8. Jun 2017, 14:15

Hallo :)

kurze Frage: Ich habe eine CSV-Datei (data.csv), die in etwa so aussieht:

MW, GA, R, G, B
1.76, -0.018, 99, 190, 123
1.66, -0.018, 99, 190, 123
1.24, -0.5784, 103, 191, 123
...

Im Moment plotte ich die Datei dann mittels tikz auf eine schöne 2D-Fläche mit den Achsen MW und GA:
\begin{tikzpicture}
    \begin{axis}[ ... ]
         \addplot+[only marks, mark=*, mark options={fill=red}, mark size=0.8, red] table [x=MW, y=GA, col sep=comma] {data.csv};
    \end{axis}
\end{tikzpicture}
Dort sind alle Punkte nun natürlich rot - habe ich ja auch so angegeben. Ich möchte aber, dass die Punkte die jeweilige RGB Farbe haben, welche in der CSV-Datei angegeben werden (Werte r,g,b). Ist das irgendwie möglich? Ich finde nur Methoden wie "cycle list", aber ich habe ja pro Zeile jeweils einen anderen Farbwert - das funktioniert also schon mal nicht. Sonst fällt mir auch nicht wirklich ein, wie ich die Werte r,g,b einfach als Variablen in der "fill"-Eigenschaft verwenden könnte. Gibt es da eine gute Lösung oder Alternativen?

Liebe Grüße
Felix

Nach oben