Seite 1 von 1

Beschriftung eines Säulendiagramms von pgfplot

Verfasst: Mi 9. Sep 2015, 19:50
von Brownie333
Hallo zusammen :)

Ich bin noch blutige Anfängerin bei LaTex und habe daher Probleme ein Säulendiagramm zu erstellen.

Ich möchte eine Unfallstatistik darstellen und eine Säule z.B. mit "Zusammenstoß mit anderem Kfz, das anfährt, anhält" beschriften.
Hier bereitet mir zum einen das "ß", zum anderen das Komma Probleme.

Ich hoffe, ihr könnt mir helfen! :)

Vielen lieben Dank schon mal :)
\documentclass[
11pt, 			%Schriftgröße 
a4paper, 		%Seite
DIV=12,			%Satzspiegel
oneside			%einseitig
]{scrreprt}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} %utf8 verwendet für Eingabe
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{lmodern}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[title  = Verkehrsunfälle auf deutschen Autobahnen im Jahr 2014,
    xbar,
    y axis line style = { opacity = 0 },
    axis x line       = none,
    tickwidth         = 0pt,
    enlarge y limits  = 0.2,
    enlarge x limits  = 0.02,
    symbolic y coords = {Zusammenstoß mit anderem Kfz, das anfährt, anhält, säule2, säule3, säule4},
    nodes near coords,
  ]
  \addplot coordinates { (684,Zusammenstoß mit anderem Kfz, das anfährt, anhält)(5672,säule2)(2193,säule3)(11106,säule4) };
  \addplot coordinates { (1259,Zusammenstoß mit anderem Kfz, das anfährt, anhält)(1615,säule2)(560,säule3)(3075,säule4)  };
  \legend{Topics, Posts}
  \end{axis}
\end{tikzpicture}
\end{document}

Verfasst: Mi 9. Sep 2015, 21:54
von esdd
Die einzelnen symbolischen Koordinaten werden in der Liste durch Kommas getrennt. Deshalb muss eine symbolische Koordinate, die ein Komma enthält in geschweifte Klammern gesetzt werden.
\documentclass[ 
 11pt, %Schriftgröße 
 a4paper, %Seite 
 DIV=12, %Satzspiegel 
 oneside %einseitig 
 ]{scrreprt} 

 \usepackage[T1]{fontenc} 
 \usepackage[utf8]{inputenc} %utf8 verwendet für Eingabe 
 \usepackage[ngerman]{babel} 
 \usepackage{pgfplots}% lädt auch tikz
 \pgfplotsset{compat=1.12}
 \usepackage{lmodern} 

 \begin{document} 
 \begin{tikzpicture} 
 \begin{axis}[title = Verkehrsunfälle auf deutschen Autobahnen im Jahr 2014, 
 xbar, 
 y axis line style = { opacity = 0 }, 
 axis x line = none, 
 tickwidth = 0pt, 
 enlarge y limits = 0.2, 
 enlarge x limits = 0.02, 
 symbolic y coords = {{Zusammenstoß mit anderem Kfz, das anfährt, anhält}, säule2, säule3, säule4}, 
 nodes near coords, 
 ] 
 \addplot coordinates { (684,{Zusammenstoß mit anderem Kfz, das anfährt, anhält})(5672,säule2)(2193,säule3)(11106,säule4) }; 
 \addplot coordinates { (1259,{Zusammenstoß mit anderem Kfz, das anfährt, anhält})(1615,säule2)(560,säule3)(3075,säule4) }; 
 \legend{Topics, Posts} 
 \end{axis} 
 \end{tikzpicture} 
 \end{document} 
Das ß verursacht bei mir mit der derzeit aktuellen Version 3.12 keine Probleme. Eventuell hast Du noch eine ältere Version und müsstest ein Update machen.

Allerdings ist die Beschriftung {Zusammenstoß mit anderem Kfz, das anfährt, anhält} sehr lang, so dass das Diagramm weit nach rechts rutscht. Das beste wäre den Text zu kürzen, ansonsten hilft etwas wie
y tick label style={align=right,text width=180pt}
vielleicht ein klein wenig.

Gruß
Elke

Verfasst: Mi 9. Sep 2015, 23:37
von Brownie333
Hallo esdd!

Vielen Dank für deine Antwort.
Der Tipp mit den Klammern hat super geklappt. Ich hatte durchaus auch eine ältere Version und hab jetzt sämtliche Updates mit de Updatemanager für MikTex heruntergeladen.
Leider klappt die Anzeige von dem ß weiterhin nicht :(
Muss ich nach den Updates irgendwelche Änderungen in den Einstellungen vornehmen?

Verfasst: Do 10. Sep 2015, 08:03
von Besserwisser
Das Beispiel von Elke funktioniert einschließlich der ß. Daher die Standardantwort:

Wenn Umlaute, ß oder andere Sonderzeichen Probleme bereiten, stimmt in der Regel die bei inputenc angegebene Codierung nicht mit der tatsächlichen Codierung des Dokuments überein. Siehe auch Wie überprüfe ich die Standardeingabekodierung in meinem Editor?

Problematisch wird es ggf., wenn nur Teile eines Dokuments falsch codiert sind.

Verfasst: Do 10. Sep 2015, 18:38
von esdd
Wenn nur das ß Schwierigkeiten macht, die anderen Umlaute aber funktionieren, dann wird vielleicht immer noch eine ältere pgfplots Version verwendet. Welche Versionsangabe bekommst Du mit folgendem Code:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\pgfplotsversion
\end{document}
Bei mir erscheint da eine 1.12.1.

Gruß
Elke

Verfasst: Do 10. Sep 2015, 19:05
von Brownie333
Ich hab eigentlich überall UTF-8 eingestellt, beim Inputence und beim Editor auch.
Ich kann ja auch Umlaute wie ä schreiben, nur das ß nicht.
Außerdem kann ich das ß auch nur innerhalb des Befehls \addplot coordinates(...) nicht schreiben.

Verfasst: Do 10. Sep 2015, 19:09
von esdd
Ja ... und welche pgfplots Version wird nun bei Dir tatsächlich verwendet? Lass bitte das ganz kurze Beispiel bei Dir laufen.

Wie gesagt, mit der 1.12 und, wenn ich mich richtig erinnere, auch der 1.11 gibt es das Problem nicht mehr. Mit der 1.10, die auch noch beim Online-Editor verwendet wird, lässt sich Dein Problem dagegen nachvollziehen.

Verfasst: Do 10. Sep 2015, 22:03
von Brownie333
Oh da hab ich wohl zu schnell gelesen!
Bei mir steht da jetzt 1.5.1

Verfasst: Do 10. Sep 2015, 22:14
von esdd
Brownie333 hat geschrieben:Bei mir steht da jetzt 1.5.1
Das erklärt dann, warum es mit dem ß nicht klappt. Du hast irgendwo noch diese sehr viel ältere Version, die vor der durch das Update aktualisierten gefunden wird. Da Du MiKTeX nutzt: hast Du eine Multiuser Installation?

Verfasst: Do 10. Sep 2015, 22:48
von Brownie333
Ich habe meine MikTex-Version mit Texmaker und allem drum und dran damals als zip-Datei bekommen.
Ich hab mir jetzt aber aus dem Internet selbst nochmal MikTex heruntergeladen und jetzt läuft alles!

Vielen Dank für die Hilfe!