Säulendiagramm mit tikzpicture, Achsenbeschriftung variieren

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: Säulendiagramm mit tikzpicture, Achsenbeschriftung variieren

von Rainer_Zufall » Mi 21. Mai 2014, 09:50

Hallo,

vielen Dank für die schnelle Antwort. Vielleicht habe ich mich etwas unklar ausgedrückt. Da, wo z.B. '2002' steht, möchte ich z.B. '3% bis 5%' stehen haben. Das macht er nicht, weil er nur Werte über Werte plotten will, was iwie auch verständlich ist.

Ich möchte die Verteilung relativer Fehler darstellen - also z.B. 86 Elemente haben einen rel. Fehler von 3% bis 5% usw.. Optimal wäre noch, wenn die Anzahl der jeweiligen Elemente (also die y-Werte) noch über den jeweiligen Säulen stehen könnten.

Viele Grüße
Rainer

von Johannes_B » Mi 21. Mai 2014, 08:34

Ich glaube ich verstehe deine Frage nicht ganz. Liegen deine Werte als Prozentangaben vor? Dann macht pgfplots das für dich ganz automatisch.
Ansonsten kannst du dir symbolic x coordinate anschauen.

von Rainer_Zufall » Di 20. Mai 2014, 22:50

Hallo,

könnte mir von euch vielleicht jemand verraten, was man machen muss, damit an der x-Achse nicht die Jahreszahlen 2002... stehen, sondern so etwas wie 5 % bis 3 %? Ich komme einfach nicht dahinter, wie man da Text eingeben kann :( Sonst wäre das eine super Vorlage für mich.

Vielen Dank schon mal und Gruß
Rainer

von phil_90026 » So 26. Jan 2014, 18:38

Genau das, was ich gesucht habe.

Vielen Dank für die schnelle Hilfe!

von localghost » So 26. Jan 2014, 18:00

Das erste Problem ist schnell erledigt, wenn man in der Anleitung zu pgfplots nach dem Schlüssel xtick sucht und dort dann dessen Beschreibung nachliest.

Für die Beschriftung der y-Achse rechts muss man im Prinzip ein zweites Koordinatensystem erstellen und die nicht benötigten Teile verstecken. Da sich 'pgfplots' aber mit einer Warnung über ein leeres (zweites) Koordinatensystem beschwert, ist noch ein unsichtbarer Plot untergebracht.
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{pgfplots}

\pgfplotsset{
  compat=1.9,
  xlabel near ticks,
  ylabel near ticks
}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[
      height=6cm,
      width=12cm,
      enlargelimits=0.05,
      legend style={
        at={(0.5,-0.2)},
        anchor=north,
        legend columns=-1
      },
      ymin=0,
      ymax=160,
      x tick label style={/pgf/number format/1000 sep=},
      x tick label style={rotate=45,anchor=east},
      ylabel={Mio. t},
      ybar interval=0.7,
      ytick={0,20,...,160}
    ]
      \addplot coordinates {
        (2002,115)
        (2003,116)
        (2004,124)
        (2005,129)
        (2006,135)
        (2007,139)
        (2008,142)
        (2009,147)
        (2010,150)
        (2011,155)
        (2012,100)
      };
      \addplot coordinates {
        (2002,33)
        (2003,35)
        (2004,3)
        (2005,40)
        (2006,3)
        (2007,43)
        (2008,43)
        (2009,41)
        (2010,43)
        (2011,45)
        (2012,100)
      };
      \addplot coordinates {
        (2002,0)
        (2003,0)
        (2004,0)
        (2005,0)
        (2006,0)
        (2007,0)
        (2008,93.6)
        (2009,94.07)
        (2010,96.46)
        (2011,96.7)
        (2012,100)
      };
      \legend{Auswahl 1,Auswahl 2,Auswahl 3}
  \end{axis}
  \begin{axis}[
      height=6cm,
      width=12cm,
      enlargelimits=0.05,
      ymin=0,
      ymax=160,
      ytick={0,20,...,160},
      hide x axis,
      axis y line*=right,
      ylabel={Mio. t}
    ]
      \addplot[opacity=0]{160};
    \end{axis}
  \end{tikzpicture}
\end{document}
Bild

Säulendiagramm mit tikzpicture, Achsenbeschriftung variieren

von phil_90026 » So 26. Jan 2014, 16:50

Hallo,

ich bräuchte heute für die letzten Anpassungen meiner BA eure Hilfe.

Mit tikzpicture habe ich ein Säulendiagramm erstellt (siehe Beispiel unten). An der x-Achse sind die Jahre und auf der y-Achse die Werte. Der Abstand der Werte auf der y-Achse sind sehr groß, bei mir 0 - 50 - 100 - 150. Ich möchte sie jedoch manuell einstellen, in 10er oder 20er Schritte. Des Weiteren sollen die Werte auf der y-Achse nicht nur links, sondern auch rechts am Diagramm erscheinen.

Kann mir da jemand weiter helfen?

Vielen Dank!

Gruß Philipp
\documentclass[10pt,oneside]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{array}
\usepackage{geometry}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}

\geometry{a4paper}	

\begin{document}

\begin{figure}[H]
	\centering
\begin{tikzpicture}
\begin{axis}[
x tick label style={
/pgf/number format/1000 sep=},
ylabel=Mio. t,
enlargelimits=0.05,
legend style={at={(0.5,-0.2)},
anchor=north,legend columns=-1},
x tick label style ={rotate=45,anchor=east},
ybar interval=0.7,
height=6cm,
width=12cm,
]
\addplot coordinates {(2002,115)(2003,116)(2004,124)(2005,129)(2006,135)(2007,139)(2008,142)(2009,147)(2010,150)(2011,155)(2012,100)};
\addplot coordinates {(2002,33)(2003,35)(2004,3)(2005,40)(2006,3)(2007,43)(2008,43)(2009,41)(2010,43)(2011,45)(2012,100)};
\addplot coordinates {(2002,0)(2003,0)(2004,0)(2005,0)(2006,0)(2007,0)(2008,93.6)(2009,94.07)(2010,96.46)(2011,96.7)(2012,100)};
\legend{Auswahl 1,Auswahl 2,Auswahl 3}
\end{axis}
\end{tikzpicture}
\end{figure}

\end{document}
[/code]

Nach oben