Balkendiagramm modifizieren

Formelsatz für Mathematik, Naturwissenschaften und Technik


Hannes Hegel
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 54
Registriert: Mi 20. Jan 2016, 19:42

Balkendiagramm modifizieren

Beitrag von Hannes Hegel »

Hallo!

Ich habe noch nie mit LaTeX geplottet, muss jetzt aber u.a. ein Balkendiagramm erstellen. In den meisten Tutorials werden leider Säulendiagramme behandelt. Hier im Forum habe ich aber jetzt ein Beispiel gefunden, anhand dessen ich mal versuchen möchte zu erklären, was ich brauche.
\documentclass[ngerman]{article} 
\usepackage[T1]{fontenc}% fontenc und inputenc erm�glichen 
\usepackage[utf8]{inputenc}% Silbentrennung und 

\usepackage{babel}    % Babel f�r diverse Sprachanpassungen 
\usepackage{pgfplots}

\begin{document}
\begin{figure}[h]
\pgfplotsset{compat=newest}
\begin{tikzpicture} \begin{axis}[ xbar stacked, xlabel={Relativ [-]},anchor=west,area legend,
 symbolic y coords={KL. 1,KL. 2, KL. 3, KL. 4, KL. 5, KL. 6}, ytick=data, xmin=0, width=12cm, height=6cm, scale=1.35,xmax=300,
 nodes near coords]   
%Vorbereitungszeit
    \addplot+[xbar] plot coordinates 
       {(13.8,KL. 1) (13.8,KL. 2) (13.8,KL. 3) (13.8,KL. 4) (13.8,KL. 5)(13.8 ,KL. 6)}; 
%Flashzeit    
   \addplot+[xbar] plot coordinates
       {(266.5,KL. 1) (49.1,KL. 2) (167.5,KL. 3) (53.0,KL. 4) (42.5,KL. 5) (57.5,KL. 6)};
%Flashzeit    
   \addplot+[xbar] plot coordinates
      {(11.4,KL. 1) (11.4,KL. 2) (8.8,KL. 3) (8.8,KL. 4) (9.1,KL. 5)(67.3,KL. 6)};

\legend{A,B,C}     
\end{axis}
\end{tikzpicture}
\end{figure} 
\end{document}
Und zwar möchte ich die Balken je Klasse nebeneinander, nicht "gestapelt". Dann brauche ich in der x-Achsenbeschriftung noch einen Pfeil in aufsteigender Richtung. Außerdem würde ich gern die Farbe der Balken bestimmen und am Ende auch noch die Größe der gesamten Grafik.

Kann mir da irgendwer weiterhelfen? Das wäre super!

edit: schön wäre auch noch, wenn optional bei besonders kurzen Balken der Wert rechts davon stehen würde.

Stamm-

Wissenswertes nachlesen

Beitrag von Stamm- »

Was Du willst und wie Du das erreichst kannst Du in der Anleitung zu »pgfplots« (bzw. »PGF/TikZ«) nachlesen.
\documentclass[ngerman]{scrartcl} 
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß}
}
\usepackage{babel}

\usepackage{pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
  \begin{figure}[!htb]
    \begin{tikzpicture}
      \begin{axis}[
        xbar,
        xlabel={Relativ [-] $\to$ $\uparrow$},
        anchor=west,
        area legend,
        symbolic y coords={KL. 1,KL. 2, KL. 3, KL. 4, KL. 5, KL. 6},
        ytick=data,
        xmin=0,
        width=12cm,
        height=10cm,
        scale=1.35,
        xmax=300,
        nodes near coords
      ]
%Vorbereitungszeit
        \addplot+[red,xbar] coordinates 
          {(13.8,KL. 1) (13.8,KL. 2) (13.8,KL. 3) (13.8,KL. 4) (13.8,KL. 5)(13.8 ,KL. 6)}; 
%Flashzeit    
        \addplot+[green,xbar] coordinates
          {(266.5,KL. 1) (49.1,KL. 2) (167.5,KL. 3) (53.0,KL. 4) (42.5,KL. 5) (57.5,KL. 6)};
%Flashzeit    
        \addplot+[blue,xbar] coordinates
          {(11.4,KL. 1) (11.4,KL. 2) (8.8,KL. 3) (8.8,KL. 4) (9.1,KL. 5)(67.3,KL. 6)};
        \legend{A,B,C}     
      \end{axis}
    \end{tikzpicture}
  \end{figure} 
\end{document}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

@Hannes Hegel

Aufgrund des optionalen Arguments ngerman der Dokumentklasse solltest Du das Beispiel von Stammgast wie folgt ergänzen:
\pgfplotsset{
	compat=newest,
	/pgf/number format/.cd, use comma
}

Antworten