Ich war doch zu optimistisch, dass ich nun mit pgfplots umgehen kann.

Die Beschriftung auf der Y-Achse hab ich versucht in eine Währung zu ändern. Sie sollte in 50 000 Schritten bis zu 300 000 Kronen gehen. Der höchste Datenwert liegt bei 250 000 Kronen. Es gelingt mir nicht die Legende anzupassen. Wie sich das mit ymax und ytick bewerkstelligen lässt, erschließt sich mir nicht bzw. die Anpassung ist mir misslungen.

Open in Online-Editor
\documentclass[tikz]{standalone}
\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}

\begin{filecontents}{infla.csv}
 Year,Interbank
 2000-01-01,48550
 2008-07-01,250100
 2015-12-01,22000
\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},
    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},
    xtick pos=left,
    xtick align=outside,
    ymin=0,ymax=300 000,
    yticklabel={\pgfmathprintnumber[verbatim]{\tick}ISK},
    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=Year,
              y={Interbank}] {infla.csv};
          \addlegendentry{ISK};
          \end{axis}
\
    end{tikzpicture}
    \end{document}

gefragt 06 Feb, 14:50

Tischa's gravatar image

Tischa
92531953
Akzeptiert: 71%

bearbeitet 07 Feb, 04:59

saputello's gravatar image

saputello
18.4k22352


Standardmäßig skaliert pgfplots die Achsen ab einer gewissen Größenordnung. Ist das nicht gewünscht, so setzt man scaled y ticks=false. Für die anschließende Formatierung der y-Ticks lohnt es sich das entsprechende Kapitel der TikZ-Dokumentation zu konsultieren. Dort findet man

  • assume math mode: nicht überprüfen ob der Mathemodus an ist
  • int detect: keine Nachkommastellen für ganze Zahlen anzeigen
  • 1000 sep={\,}: Kleiner Abstand zwischen 3er-Kolonnen

Hier das vollständige Beispiel (die Legende musste etwas nach rechts rücken, um die y-Achse nicht zu verdecken)

Open in Online-Editor
\documentclass[tikz]{standalone}
\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}

\begin{filecontents}{infla.csv}
Year,Interbank
2000-01-01,48550
2008-07-01,250100
2015-12-01,22000
\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},
    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},
    xtick pos=left,
    xtick align=outside,
    ymin=0,ymax=300 000,
    % assume math mode: nicht überprüfen ob der Mathemodus an ist
    % int detect: keine Nachkommastellen für ganze Zahlen anzeigen
    % 1000 sep={\,}: Kleiner Abstand zwischen 3er-Kolonnen
    yticklabel={\pgfmathprintnumber[assume math mode,int detect,1000 sep={\,}]{\tick} ISK},
    % y-Achse nicht skalieren, sondern die tatsächliche Zahl im \tick angeben
    scaled y ticks=false,
    ytick style={draw=none},
    yticklabel pos=right,
    ymajorgrids=true,
    legend style={
      draw=none,
      legend cell align=left,
      at={(1.22,1.05)},
      anchor=north west,
      legend image code/.code={
        \filldraw[##1] (-.5ex,-.5ex) rectangle (1ex,1ex);
      }
    } ]       
    \addplot table[col sep=comma,x=Year,
    y={Interbank}] {infla.csv};
    \addlegendentry{ISK};
  \end{axis}
  \end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 06 Feb, 17:16

Henri's gravatar image

Henri
10.0k31730

@Henri. Vielen Dank. Ich bin jedes Mal wieder erstaunt. Danke!!!

(06 Feb, 17:45) Tischa
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×160
×9

Frage gestellt: 06 Feb, 14:50

Frage wurde angeschaut: 853 Mal

Zuletzt aktualisiert: 07 Feb, 04:59