Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 4

06 Feb '16, 18:38

saputello's gravatar image

saputello
11.1k174365

`pgfplots` erwartet als Datumsformat *immer* ein ISO-Datum der Form: *Jahr*-*Monat*-*Tag*, wobei das *Jahr* einschließlich dem Jahrhundert anzugeben ist. *Monat* und *Tag* können für Werte < 10 wahlweise mit oder ohne führende Null angegeben werden. Trotz mehrfacher entsprechender Kommentare verwendest Du leider noch immer teilweise Datumsangaben ohne Tag. Das funktioniert so nicht! Darüber hinaus muss natürlich der Spaltenname auch im Datensatz zu finden sein. Wenn Du im Datensatz die erste Spalte mit `Month` bezeichnet hast, kannst Du beim Zugriff auf diese Spalte nicht einfach den Namen `Year` verwenden. Korrigiert man beide Fehler, dann funktioniert es auch: \documentclass[tikz]{standalone} \usepackage{pgfplots,filecontents} \usepgfplotslibrary{dateplot} \pgfplotsset{compat=newest}% statt 1.13, wegen des Online-Editors \begin{filecontents}{infla.csv} Month,CPI,Central bank of Iceland inflation target 2000-01-1,5.8,2.5 2015-12-1,2.0,2.5 \end{filecontents} \begin{document} \sffamily \begin{tikzpicture} \sffamily \begin{axis}[ date ZERO=2000-01-01, date coordinates in=x, no marks, width=12cm,height=6cm, enlargelimits=false, xticklabel={\tiny\year},% Schrift willkürlich verkleinert, damit es irgendwie passt! xtick={2000-1-1,2001-01-01,2002-01-01,2003-01-01,2004-01-01,2005-01-01,2006-01-01,2007-01-01,2008-01-01,2009-01-01,2010-01-01,2011-01-01,2012-01-01,2013-01-01,2014-01-01,2015-01-01},% Datumformat korrigiert! xtick pos=left, xtick align=outside, ymin=0,ymax=20, ytick={0,4,...,20}, yticklabel={\pgfmathprintnumber[verbatim]{\tick}\%}, ytick style={draw=none}, yticklabel pos=right, ymajorgrids=true, legend style={ draw=none, legend cell align=left, at={(1.12,1.05)}, anchor=north west, legend image code/.code={ \filldraw[##1] (-.5ex,-.5ex) rectangle (1ex,1ex); } } ] \addplot table[col sep=comma,x=Month,% Year gibt es im Datensatz nicht! y={Central bank of Iceland inflation target}] {infla.csv}; \addlegendentry{Central bank of Iceland inflation target}; \addplot table[col sep=comma,x=Month,% Year gibt es im Datensatz nicht! y={CPI}] {infla.csv}; \addlegendentry{CPI}; \end{axis} \end{tikzpicture} \end{document} ![alt text][1] Die Einstellung `compat=1.13` habe ich nur wegen des Online-Editors durch `compat=newest` ersetzt. Die TeX-Installation von Overleaf hat nämlich bisher nur ein `pdfplots` 1.12 und meldet dann bei `compat=1.13` natürlich einen Fehler. Mit `compat=newest` wird im Online-Editor automatisch `1.12` verwendet und bei Dir zuhause `1.13` (oder was immer dort aktuell ist). Die Warnung aus Deiner Frage dürfte es weder mit dem von Dir verwendeten `compat=1.13` geben noch mit `compat=newest`. Wenn es die bei Dir gibt, dann ist bei Deiner TeX-Installation etwas sehr, sehr merkwürdig. Eigentlich deutet das darauf hin, dass gar nicht das angegebene Beispiel verarbeitet wurde. Ich finde es übrigens sehr schade, dass Du Deine neue Frage einfach in die alte hineingemischt hast, so dass @Henris ausgezeichnete Antwort als Antwort nicht mehr ausreichte. Stattdessen wäre eine wirklich neue Frage für dieses neue Problem sinnvoll gewesen. [1]: http://texwelt.de/wissen/upfiles/test36_1.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 3

06 Feb '16, 18:33

saputello's gravatar image

saputello
11.1k174365

`pgfplots` erwartet als Datumsformat *immer* ein ISO-Datum der Form: *Jahr*-*Monat*-*Tag*, wobei das *Jahr* einschließlich dem Jahrhundert anzugeben ist. *Monat* und *Tag* können für Werte < 10 wahlweise mit oder ohne führende Null angegeben werden. Trotz mehrfacher entsprechender Kommentare verwendest Du leider noch immer teilweise Datumsangaben ohne Tag. Das funktioniert so nicht! Darüber hinaus muss natürlich der Spaltenname auch im Datensatz zu finden sein. Wenn Du im Datensatz die erste Spalte mit `Month` bezeichnet hast, kannst Du beim Zugriff auf diese Spalte nicht einfach den Namen `Year` verwenden. Korrigiert man beide Fehler, dann funktioniert es auch: \documentclass[tikz]{standalone} \usepackage{pgfplots,filecontents} \usepgfplotslibrary{dateplot} \pgfplotsset{compat=last}% \pgfplotsset{compat=newest}% statt 1.13, wegen des Online-Editors \begin{filecontents}{infla.csv} Month,CPI,Central bank of Iceland inflation target 2000-01-1,5.8,2.5 2015-12-1,2.0,2.5 \end{filecontents} \begin{document} \sffamily \begin{tikzpicture} \sffamily \begin{axis}[ date ZERO=2000-01-01, date coordinates in=x, no marks, width=12cm,height=6cm, enlargelimits=false, xticklabel={\tiny\year},% Schrift willkürlich verkleinert, damit es irgendwie passt! xtick={2000-1-1,2001-01-01,2002-01-01,2003-01-01,2004-01-01,2005-01-01,2006-01-01,2007-01-01,2008-01-01,2009-01-01,2010-01-01,2011-01-01,2012-01-01,2013-01-01,2014-01-01,2015-01-01},% Datumformat korrigiert! xtick pos=left, xtick align=outside, ymin=0,ymax=20, ytick={0,4,...,20}, yticklabel={\pgfmathprintnumber[verbatim]{\tick}\%}, ytick style={draw=none}, yticklabel pos=right, ymajorgrids=true, legend style={ draw=none, legend cell align=left, at={(1.12,1.05)}, anchor=north west, legend image code/.code={ \filldraw[##1] (-.5ex,-.5ex) rectangle (1ex,1ex); } } ] \addplot table[col sep=comma,x=Month,% Year gibt es im Datensatz nicht! y={Central bank of Iceland inflation target}] {infla.csv}; \addlegendentry{Central bank of Iceland inflation target}; \addplot table[col sep=comma,x=Month,% Year gibt es im Datensatz nicht! y={CPI}] {infla.csv}; \addlegendentry{CPI}; \end{axis} \end{tikzpicture} \end{document} ![alt text][1] Ich finde es übrigens sehr schade, dass Du Deine neue Frage einfach in die alte hineingemischt hast, so dass @Henris ausgezeichnete Antwort als Antwort nicht mehr ausreichte. Stattdessen wäre eine wirklich neue Frage für dieses neue Problem sinnvoll gewesen. [1]: http://texwelt.de/wissen/upfiles/test36_1.png
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

06 Feb '16, 18:31

saputello's gravatar image

saputello
11.1k174365

Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

06 Feb '16, 18:29

saputello's gravatar image

saputello
11.1k174365