Hallo Zusammen, ich arbeite noch nicht lange mit LaTeX und versuche gerade ein Säulendiagramm zu erstellen. Hierzu habe ich 2 verschiedene Herangehensweisen versucht, welche mir aber jeweils Probleme machen. Wenn ich mit das Diagramm mit TikZ erstelle, welches mir vom Layout her sehr gut gefällt bekomme ich es leider nicht hin die y-Achse mit den gewünschten Werten zu beschriften (diese wären 100,200,300). Erstelle ich mein Problem mit pgfplots, so schneiden die Hilfslinien meine Balken und bei Rotation der x-Achsenbeschriftung verschiebt sich diese. Öffne in Overleaf
\begin{figure} \begin{tikzpicture} \centering %\newcommand{\balkenbreite}{10pt} \begin{axis}[ybar, bar width=20pt, % Balken gestapelt % ursprüngliche y-Werte unterhalb der Balken: nodes near coords,nodes near coords align=above,point meta=rawy, axis x line=bottom, axis y line=left,% Achsen nur unten und links ylabel=$kWh/m^2a$, % Beschriftung der Achsen ymin=0, ytick={0,50,100,150,200,250,300},% minimaler y-Wert ist 0 enlargelimits=auto,% Vergrößern der Ränder des Diagramms % Ausgabe der x Werte ohne Tausendermarkierung@ xlabel= Sanierter Geb\"audeteil, symbolic x coords ={0,Unrenoviert,Fenster,H\"ulle,Bodenplatte,Heizung,8}, x tick label style={rotate=90}] \addplot[fill=green] coordinates {(Unrenoviert,220.6)(Fenster,219.26)(H\"ulle,197.67)(Bodenplatte,167.9)(Heizung,40)}; \draw[very thin,color=gray]({axis cs:0,50}) -- ({axis cs:8,50}); \draw[very thin,color=gray]({axis cs:0,100}) -- ({axis cs:8,100}); \draw[very thin,color=gray]({axis cs:0,150}) -- ({axis cs:8,150}); \draw[very thin,color=gray]({axis cs:0,200}) -- ({axis cs:8,200}); \draw[very thin,color=gray]({axis cs:0,250}) -- ({axis cs:8,250}); \end{axis} \end{tikzpicture} \end{figure} \begin{tikzpicture} \draw(0cm, 0cm) -- (10cm, 0cm); %Abzisse \draw (0cm, 0cm) -- (0cm, -0.1cm); \draw (10cm, 0cm) -- (10cm, -0.1cm); \draw(-0.1cm, 0cm) -- (-0.1cm, 3.5cm); %Ordinate \draw(-0.1cm, 0cm) -- (-0.2cm, 0cm); \draw(-0.1cm, 3.5cm) -- (-0.1cm, 3.5cm) node [left] {$10^1 kWh/m^2$}; \foreach \x in {10,20,30} %Hilfslinien \draw[gray!50, text=black] (-0.2 cm,\x mm) -- (10 cm,\x mm) node at (-0.5 cm,\x mm){\x}; %Beschriftung der Hilfslinien \node at (4.5cm,4cm) {Primärenergieverbrauch pro Quadratmeter}; %Überschrift \foreach \x/\y/\Verbrauch/\z/\v in {10/22.026/Unrenoviert/220.6/50, 25/21.926/Fenster/219.26/75, 40/19.767/Hülle gedämmt/197.67/100, 55/16.79/Bodenplatte gedämmt/167.9/125, 70/4/RLT neu/40/150, 85/4/Heizung neu/40/175} { \draw[fill=green] (\x mm,0cm) rectangle (0.95cm+\x mm,\y mm) node at (0.65cm + \x mm,\y mm + 0.3cm) {\z}; %die Säulen \node[rotate=45, left] at (0.6cm +\x mm,-0.1cm) {\Verbrauch}; %Säulenbeschriftung }; \end{tikzpicture} gefragt 28 Dez '16, 11:49 Huesselmann stefan ♦♦ |
Ich würde die
Das verstehe ich nicht. Vielleicht nicht um 90 Grad rotieren? Ich habe mal
Ich würde die Hilfslinien gar nicht selbst malen, sondern das Grid verwenden. Öffne in Overleaf
\documentclass{article} \usepackage{pgfplots} \pgfplotsset{ compat=1.13, } \begin{document} \begin{tikzpicture} \begin{axis}[ ybar, bar width=20pt, % nodes near coords, nodes near coords align=above, point meta=rawy, % axis x line=bottom, axis y line=left, ymajorgrids=true, % ylabel=$\mathrm{kWh/m^2a}$, ymin=0, ytick={0,50,100,150,200,250,300}, enlargelimits=auto, % xlabel= Sanierter Geb\"audeteil, symbolic x coords ={Unrenoviert,Fenster,H\"ulle,Bodenplatte,Heizung}, x tick label style={rotate=30,anchor=north east}, ] \addplot[fill=green] coordinates { (Unrenoviert,220.6) (Fenster,219.26) (H\"ulle,197.67) (Bodenplatte,167.9) (Heizung,40) }; \end{axis} \end{tikzpicture} \end{document} |
Willkommen im Forum! Ich habe den Code aus Deiner "Antwort" in die Frage übertragen. Du kannst gern stets direkt die Frage editieren und Zusätze einfügen. Hier sind Antworten stets "echte" Antworten, keine Gespräche oder Rückfragen oder Zusatzinfos, sondern Lösungen. Editieren der Frage ist jederzeit möglich und erwünscht. Das verbessert die Übersicht erheblich für die Archivierung der Lösungen. Ungewohnt und anders als in Webforen, doch innovativ und nutzbarer. Bemerkungen gern wie hier als Kommentare.
Könntest Du bitte Deinen Codeausschnitt zu einem Minimalbeispiel erweitern? Also einem möglichst kurzen, aber komplettes Dokument, von
\documentclass{...}
bis zu\end{document}
, welches das Problem zeigt. Das vereinfacht die Bearbeitung erheblich und ist meist eine Garantie für eine Lösung. Darüber hinaus spielen beipgfplots
ggf. auch die verwendeten Einstellungen eine Rolle. Für den Online-Editor-Link wäre es auch gut.