Ich habs geschafft einen neuen Datensatz zu plotten. Bei diesem Beispiel werden allerdings die Farben der Legendeneinträge doppelt ausgegeben. Wie kann ich das verhindern?

Open in Online-Editor
\documentclass[fontsize=12pt,paper=a4]{scrartcl}
\usepackage{pgfplots,filecontents}
\pgfplotsset{compat=newest}
\usepgfplotslibrary{dateplot}
\usepackage{tikzscale}  
\begin{filecontents}{external-debt.csv}
Quarter,Monetary authorities Short-term debt,General government,General government Short-term debt,General government Long-term debt,Deposit money banks Short-term debt,Deposit money banks Long-term debt,Other sectors,Direct investment,Total external debt,Total external debt-Direct investment,External debt position to GDP-ratio
2000-01-01,9594,131965,13816,118149,50818,133295,203488,13658,542818,13658,82.6
2000-04-01,13562,140222,18081,122141,78429,224328,149843,12981,619365,12981,92.6
2013-10-01,29439,556918,0,556918,125319,21850,10079872,1372697,12328310,1372697,613.3
2014-01-01,26667,514831,0,514831,129525,26652,9921453,1337141,12095886,1337141,592.3
\end{filecontents}

\begin{filecontents}{external-debt.tikz}
\begin{tikzpicture}
\sffamily
  \begin{axis}[
   date ZERO=2000-01-01,
     date coordinates in=x,
     no marks,
     width=15cm,height=8cm,
     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},
     xtick pos=left,
     xtick align=outside,
     ymin=0,ymax=16 000 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}},
     % 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={(0.00,1.4)},
      at={(1.15,1.05)},
       anchor=north west,
      legend image code/.code={
        \filldraw[##1] (-.5ex,-.5ex) rectangle (1ex,1ex);
      }
    }
    ]

    \addplot table[col sep=comma,x=Quarter,y={Monetary authorities Short-term debt}] {external-debt.csv};
    \addlegendentry{Monetary authorities Short-term debt};
     \addplot table[col sep=comma,x=Quarter,y={General government}] {external-debt.csv};
        \addlegendentry{General government};
         \addplot table[col sep=comma,x=Quarter,y={General government Short-term debt}] {external-debt.csv};
            \addlegendentry{General government Short-term debt};
             \addplot table[col sep=comma,x=Quarter,y={General government Long-term debt}] {external-debt.csv};
                \addlegendentry{General government Long-term debt};
                 \addplot table[col sep=comma,x=Quarter,y={Deposit money banks Short-term debt}] {external-debt.csv};
                    \addlegendentry{Deposit money banks Short-term debt};
                     \addplot table[col sep=comma,x=Quarter,y={Deposit money banks Long-term debt}] {external-debt.csv};
                        \addlegendentry{Deposit money banks Long-term debt};
                         \addplot table[col sep=comma,x=Quarter,y={Other sectors}] {external-debt.csv};
                            \addlegendentry{Other sectors};
                             \addplot table[col sep=comma,x=Quarter,y={Direct investment}] {external-debt.csv};
                                \addlegendentry{Direct investment};
                                 \addplot table[col sep=comma,x=Quarter,y={Total external debt}] {external-debt.csv};
                                    \addlegendentry{Total external debt};
                                     \addplot table[col sep=comma,x=Quarter,y={Total external debt-Direct investment}] {external-debt.csv};
                                        \addlegendentry{Total external debt-Direct investment};
                                         \addplot table[col sep=comma,x=Quarter,y={External debt position to GDP-ratio}] {external-debt.csv};
                                            \addlegendentry{External debt position to GDP-ratio};

  \end{axis}
\end{tikzpicture}
\end{filecontents}

\begin{document}
\begin{figure}
\begin{center}
\includegraphics[width=1.0\linewidth]{external-debt.tikz}
\end{center}
\label{Fig:interbankfinanzkredite}
\end{figure}    
\end{document}

gefragt 08 Feb '16, 14:12

Tischa's gravatar image

Tischa
1.4k30106129
Akzeptiert-Rate: 15%


Um mehrere Plots in einer axis Umgebung unterscheidbar zu machen, wird eine cycle list verwendet, die insbesondere Farben, Marker und Linienstil für eine gewisse Anzahl Plots vorgibt. Standardmäßig wird die Liste color verwendet. Bei der werden nur 4 unterschiedliche Farben, dafür aber auch noch 4 verschiedene Marker und sowohl durchgezogene als auch gestrichelte Linien genutzt.

Wenn Du keine Marker, aber dafür mehr Farben brauchst, kannst Du cycle list name=color list verwenden:

Open in Online-Editor
\begin{axis}[...,cycle list name=color list]

alt text

Es gibt auch die Möglichkeit eine eigene cycle list zu definieren und zu verwenden.

Für einen einzelnen Plot können die Einstellung der cycle list durch die Verwendung des optionalen Arguments von \addplot überschrieben werden. Schon mit \addplot[]... werden sie nicht verwendet. Möchte man zusätzlich zu den cycle list Einstellungen weitere Optionen verwenden, dann muss ein + zwischen den Befehl und das optionale Argument gesetzt werden: \addplot+[<optionen>]...

Permanenter link

beantwortet 08 Feb '16, 15:30

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Funktioniert prima. Vielen Dank!

(08 Feb '16, 15:47) Tischa
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

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ügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×731
×298
×48
×11

gestellte Frage: 08 Feb '16, 14:12

Frage wurde gesehen: 8,436 Mal

zuletzt geändert: 08 Feb '16, 15:47