Hi ich versuche mich gerade an der Umgebung PGFplots und bisher klappt auch alles ganz gut. Jetzt habe ich aber folgendes Problem ich habe versucht ein Graphen zu plotten und möchte nun an die verschiedenen Datenpunkte Werte schreiben. Diese sollen aber nicht wie beide der Funktion nodes near coords die x oder Y Werte wiedergeben, sondern weitere Datenwerte, die in der CSV- Datei in einer anderen Spalte abgespeichert sind. In diesem Beispiel sollen an die Datenpunkte die Werte aus der Spalte d an die Datenpunkte geschrieben werden. Mein Beispiel sieht folgendermaßen aus: Öffne in Overleaf
\documentclass[12pt,a4paper]{article} \usepackage{pgfplots,siunitx} \pgfplotsset{compat=1.9} \usepgfplotslibrary{ dateplot, fillbetween, units } \begin{filecontents*}{sensifix.csv} a;b;c;d 1000;1.295;60;3 2000;1.295;60;3 3000;1.957;20;2 4000;1.957;20;2 5000;1.957;20;2 6000;1.957;20;2 7000;1.957;20;2 8000;1.957;20;2 9000;1.957;80;1 10000;1.957;80;1 \end{filecontents*} \begin{figure}[htb] \centering \begin{tikzpicture} \pgfplotsset{ width=\textwidth-45pt, height = 0.4\textheight, legend style={% at={(0.99,0.99)}, anchor=north east }, legend cell align=left, ticklabel shift={0.05cm}, tick label style={/pgf/number format/1000 sep=}, xmin=1000,xmax=10000, } \begin{axis}[ grid = major, xlabel = {Kosten für den Inverter}, x unit=\si{Euro}, xtick={0,2000,...,10000}, scaled ticks=false, ticklabel style={/pgf/number format/.cd,fixed}, ylabel = {Maximalkapaziät der Batterie}, y unit=\si{\kWh}, ymin=0, ymax=2.5, ] \addplot[color = blue, mark=*, mark options={solid}] table [x=a, y=b,col sep=semicolon] {Sensifix.csv}; coordinates { (0,1,3) [3] }; \label{Transmitterlaenge}% keine Umlaute verwenden!!! \end{axis} % \begin{axis}[ yticklabel pos=right,% yticklabel auf der rechten Seite ylabel = {Gesamtlänge des Transmitters}, y unit=\si{\meter}, ymin=0, ymax=125, xtick=\empty,% xticks nicht noch einmal zeichnen ] \addplot[color = red, mark=*, mark options={solid}] table [x=a, y=c,col sep=semicolon]{Sensifix.csv}; \label{Batteriekapazitaet} \addlegendimage{/pgfplots/refstyle=Transmitterlaenge} \addlegendimage{/pgfplots/refstyle=Batteriekapazitaet} \addlegendentry{Transmitterlänge} \addlegendentry{Batteriekapazität} \end{axis} \end{tikzpicture} \end{figure} \end{document} Ich hoffe es versteht jemand das Problem und kann mir weiterhelfen.... irgendwie kann das ja nicht so schwierig sein! ^^ Danke im Voraus MfG Feidex |
Neben Beispiel: Öffne in Overleaf
\documentclass[12pt,a4paper]{article} \usepackage{siunitx} \usepackage{pgfplots} \pgfplotsset{compat=1.9}% warum so eine alte Version? \usepgfplotslibrary{ dateplot, fillbetween, units } \begin{filecontents*}{sensifix.csv} a;b;c;d 1000;1.295;60;3 2000;1.295;60;3 3000;1.957;20;2 4000;1.957;20;2 5000;1.957;20;2 6000;1.957;20;2 7000;1.957;20;2 8000;1.957;20;2 9000;1.957;80;1 10000;1.957;80;1 \end{filecontents*} \begin{document} \begin{figure}[htb] \centering \begin{tikzpicture} \pgfplotsset{ width=\textwidth-45pt, height = 0.4\textheight, legend style={% at={(0.99,0.99)}, anchor=north east }, legend cell align=left, transpose legend=true, ticklabel shift={0.05cm}, tick label style={/pgf/number format/1000 sep=}, xmin=1000,xmax=10000, } \begin{axis}[ grid = major, xlabel = {Kosten für den Inverter}, x unit=\si{Euro}, xtick={0,2000,...,10000}, scaled ticks=false, ticklabel style={/pgf/number format/.cd,fixed}, ylabel = {Maximalkapaziät der Batterie}, y unit=\si{\kWh}, ymin=0, ymax=2.5, ] \addplot[color = blue, mark=*, mark options={solid}] table [x=a, y=b,col sep=semicolon] {sensifix.csv}; \label{Transmitterlaenge}% keine Umlaute verwenden!!! \end{axis} % \begin{axis}[ yticklabel pos=right,% yticklabel auf der rechten Seite ylabel = {Gesamtlänge des Transmitters}, y unit=\si{\meter}, ymin=0, ymax=125, xtick=\empty,% xticks nicht noch einmal zeichnen nodes near coords, nodes near coords style=below, point meta=explicit ] \addlegendimage{/pgfplots/refstyle=Transmitterlaenge} \addlegendentry{Transmitterlänge} \addplot[color = red, mark=*, mark options={solid}] table [x=a, y=c,col sep=semicolon,meta=d]{sensifix.csv}; \label{Batteriekapazitaet} \addlegendentry{Batteriekapazität} \end{axis} \end{tikzpicture} \end{figure} \end{document} Ich habe noch ein paar weitere Änderungen an Deinem Code vorgenommen, u.a. beantwortet 22 Sep '17, 23:10 esdd Hat geklappt vielen Dank! :)
(23 Sep '17, 14:03)
Feidex
|