Tikz ybar stacked will nicht so wie ich.

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: Tikz ybar stacked will nicht so wie ich.

Super.

von schleyse » Sa 19. Mär 2016, 19:13

Vielen vielen Dank!

von esdd » Sa 19. Mär 2016, 17:02

Ändere enlargelimits=.5 zu enlarge x limits=0.5

Bild
\documentclass[border=10pt]{standalone} 

\usepackage{selinput} 
\SelectInputMappings{ 
    adieresis={ä}, 
    germandbls={ß} 
} 
\usepackage{siunitx} 
\usepackage{pgfplots} 

\pgfplotsset{ 
    compat=1.12, % wegen Overleaf, MiKTeX und TeX Live dürften 1.13 unterstützen 
    /pgf/number format/.cd, 
       1000 sep=\thinspace, % Änderung des Tausendertrennzeichens 
       min exponent for 1000 sep=4 % nicht bei vierstelligen Zahlen 
} 

\sisetup{ 
    locale = DE, % für die Dezimaltrennzeichen in der Legende 
    per-mode = fraction % für den Bruch in der Beschriftung der Y-Achse 
} 

\begin{document} 
\begin{tikzpicture} 
\begin{axis}[ 
     width=14.5cm, 
     height=7cm, 
     ymin=0, 
     ybar stacked, 
     bar width=140pt, 
     enlarge x limits=0.5 % <- nur x limits!
     legend style={ 
        at={(0.5,-0.20)}, 
        anchor=north, 
        legend columns=2, 
        cells={anchor=west} % Legendentext linksbündig ausrichten 
     }, 
     ylabel={$\si{\kg\per\tonne}-\mathrm{Al}$}, 
     symbolic x coords={Primärerzeugung, Recycling}, 
     xtick=data 
] 

\addplot+[ybar] plot coordinates {(Primärerzeugung,3185) (Recycling,0)}; 
\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,296)}; 
\addplot+[ybar] plot coordinates {(Primärerzeugung,330) (Recycling,0)}; 

\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,27)}; 
\addplot+[ybar] plot coordinates {(Primärerzeugung,135) (Recycling,0)}; 
\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,73)}; 

\legend{ 
    Bayerprozess (\SI{87.3}{\percent}), 
    Salzrecycling (\SI{74.9}{\percent}), 
    Elektrolyse (\SI{9}{\percent}), 
    Schrottvorbereitung (\SI{6.8}{\percent}), 
    Sonstiges (\SI{3.7}{\percent}), 
    Schmelzen{,} Energiebereitstellung (\SI{18.3}{\percent}) 
} 
\end{axis} 
\end{tikzpicture} 
\end{document}
Gruß
Elke
Dateianhänge
gl_enlargexlimits.png
gl_enlargexlimits.png (20.33 KiB) 2212 mal betrachtet

Danke erstmal

von schleyse » Sa 19. Mär 2016, 16:41

Hallo Bartman,

danke schonmal für die Veränderungen. Die Balkenbreite wäre schon gut wenn sie so um den Dreh wie in meinem Beispiel ist.

Wenn jetzt noch jemand einen kleinen Tipp bezüglich des ursprünglichen Problems hätte wäre ich echt happy :)

Beste Grüße,

Sebastian

von Bartman » Sa 19. Mär 2016, 13:57

Ich habe an Deinem Beispiel lediglich ein paar Änderungen vergenommen, welche meiner Meinung nach sinnvoll wären. Es ist keine Lösung Deines Problems.
\documentclass[border=10pt]{standalone}

\usepackage{selinput}
\SelectInputMappings{
	adieresis={ä},
   germandbls={ß}
}
\usepackage{siunitx}
\usepackage{pgfplots}

\pgfplotsset{
	compat=1.12, % wegen Overleaf, MiKTeX und TeX Live dürften 1.13 unterstützen
   /pgf/number format/.cd,
		1000 sep=\thinspace, % Änderung des Tausendertrennzeichens
		min exponent for 1000 sep=4 % nicht bei vierstelligen Zahlen
}

\sisetup{
	locale = DE, % für die Dezimaltrennzeichen in der Legende
   per-mode = fraction % für den Bruch in der Beschriftung der Y-Achse
}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    width=14.5cm,
    height=7cm,
    ymin=0,
    ybar stacked,
    bar width=140pt,
    enlargelimits=0.5,
    legend style={
    	at={(0.5,-0.20)},
	    anchor=north,
       legend columns=2,
   	 cells={anchor=west} % Legendentext linksbündig ausrichten
	 },
    ylabel={$\si{\kg\per\tonne}-\mathrm{Al}$}, 
    symbolic x coords={Primärerzeugung, Recycling},
    xtick=data
]

\addplot+[ybar] plot coordinates {(Primärerzeugung,3185) (Recycling,0)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,296)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,330) (Recycling,0)};

\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,27)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,135) (Recycling,0)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,73)};

\legend{
	Bayerprozess (\SI{87.3}{\percent}),
	Salzrecycling (\SI{74.9}{\percent}),
	Elektrolyse (\SI{9}{\percent}),
	Schrottvorbereitung (\SI{6.8}{\percent}),
	Sonstiges (\SI{3.7}{\percent}),
	Schmelzen{,} Energiebereitstellung (\SI{18.3}{\percent})
}
\end{axis}
\end{tikzpicture}
\end{document}
Sollen die Balken so breit sein?

von Zaun- » Sa 19. Mär 2016, 10:25

Ups, vergessen anzuhängen. Von Overleaf hierher kopiert:
\documentclass[border=10pt]{standalone}
%%%<
\usepackage{verbatim}
%%%>
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.8}
\begin{comment}
:Title: Stacked bar plot
:Tags: 2D;Stacked plots;Manual
:Author: Christian Feuersänger
:Slug: stacked-bar-plot

Stacking plots means to add either x or y coordinates of
successive \addplot commands on top of each other.

The code is from the PGFPlots 1.10 manual: "4.5.8 Stacked Plots",
"Stacked Bar Plots and Nodes Near Coords".
\end{comment}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
    width=14.5cm,
    height=7cm,
    ymin=0,
    ybar stacked,
    bar width=140pt,
    enlargelimits=0.5,
    legend style={at={(0.5,-0.20)},
    anchor=north,legend columns=2},
    ylabel={kg/t-Al},
    symbolic x coords={Primärerzeugung, Recycling},
    xtick=data]

\addplot+[ybar] plot coordinates {(Primärerzeugung,3185) (Recycling,0)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,296)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,330) (Recycling,0)};

\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,27)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,135) (Recycling,0)};
\addplot+[ybar] plot coordinates {(Primärerzeugung,0)(Recycling,73)};

\legend{\strut Bayerprozess (87{,}3~\%), \strut Salzrecycling (74{,}9~\%), \strut Elektrolyse (9{,}0~\%), \strut Schrottvorbereitung (6{,}8~\%), \strut Sonstiges (3{,}7~\%),  Schmelzen{,} Energiebereitstellung (18{,}3~\%)}
\end{axis}
\end{tikzpicture}
\end{document}

Re: Tikz ybar stacked will nicht so wie ich.

von esdd » Fr 18. Mär 2016, 17:18

schleyse hat geschrieben: Ich schlage mich damit jetzt schon seit Stunden damit rum - eine Hilfestellung wäre phänomenal!
Ohne Minimalbeispiel dürften die Chancen dafür eher sehr schlecht stehen, denn ein beliebiges Beispiel, bei dem die Balken an der x-Achse beginnen, dürfte Dir kaum weiter helfen.

Tikz ybar stacked will nicht so wie ich.

von schleyse » Fr 18. Mär 2016, 16:11

Hallöchen,

ich bastel gerade an ein paar Diagrammen mit Tikz, leider kriege ich das was ich gerne hätte nicht hin. Und zwar:

Ich wollte erreichen, dass die Balken an der X-Achse beginnen und nicht mittendrin. Außerdem wollte ich, dass auch, wenn die Balken dort beginnen, sie trotzdem noch an der Position an der sie sich gerade befinden bleiben.

Ich schlage mich damit jetzt schon seit Stunden damit rum - eine Hilfestellung wäre phänomenal!

Edit: Habe vergessen das Beispiel zu posten (großes Kino)

https://www.overleaf.com/read/jsfcrprrtwxp


Beste Grüße,

Sebastian

Nach oben