Seite 1 von 1

Bar Chart, einzelne Bars (Coordinates) schraffieren

Verfasst: Do 4. Mär 2021, 16:21
von Defacto_Bernd

Guten Tag liebes Forum,

meine Frage betrifft die Erstellung von Bar Charts. Genauer, die Änderung der Schraffur/Farbe von einzelnen Bars. Ich habe bereits geschafft ganze Datenreihen mit den pattern Befehl zu schraffieren oder auch bei ganzen Datenreihen die Farbe zu ändern.
Kann man auch ganz bestimmte Koordinaten einfärben? ( Hier bspw. Women 2010/11)
Ich hatte bereits probiert durch hinzufügen eines \addplot das Problem zu lösen. Leider verschieben sich dann die Säulen und es entsteht eine Lücke bei den nicht definierten Koordinaten.
Habt ihr vielleicht eine schicke Lösung?

Grüße

Bernd

\documentclass{article}
\usepackage[margin=0.5in]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{textcomp}

\usepackage{pgfplots}
\pgfplotsset{width=10cm,compat=1.9}
%\usepgfplotslibrary{external}
%\tikzexternalize

\begin{document}

Bar chart:

\begin{tikzpicture}
\begin{axis}[
    x tick label style={
		/pgf/number format/1000 sep=},
	ylabel=Year,
	enlargelimits=0.05,
	legend style={at={(0.5,-0.2)},
	anchor=north,legend columns=-1},
	ybar interval=.7,
]
\addplot 
	coordinates {(2012,408184) (2011,408348)
		 (2010,414870) (2009,412156) (2008,415 838)};
\addplot 
	coordinates {(2012,388950) (2011,393007) 
		(2010,398449) (2009,395972) (2008,398866)};
\legend{Men,Women}
\end{axis}
\end{tikzpicture}


\end{document}

Bild


Re: Bar Chart, einzelne Bars (Coordinates) schraffieren

Verfasst: Fr 5. Mär 2021, 17:47
von Defacto_Bernd

Ok, habe eine Lösung gebastelt aus verschiedenen Antworten.

Ich habe unterhalb der bestehenden Beschreibung eine weitere
begin{axis}..... end {axis] eingefügt. In dieser nochmal alle Koordinaten beschrieben und damit quasi überschrieben wenn gewünscht. Nicht sonderlich schön, hat aber funktioniert.
Für Pattern braucht man :\usetikzlibrary{patterns}

\begin{axis}[axis lines=none]

\addplot+ [Hier stehen die pattern oder color Einstellungen, Bsp."pattern=north east lines"]coordinates {
		(2012,0) (2011,0)
		 (2010,0) (2009,0) (2008,0)
		 };
\addplot+[Hier stehen die pattern oder color Einstellungen] coordinates {
(2012,0) (2011,393007) 
		(2010,398449) (2009,0) (2008,0)};
		end {axis]
		

Verfasst: Fr 5. Mär 2021, 18:31
von Gast.

Zeige deine Lösung bitte als Minimalbeispiel. Ich bekomme mit deinen Änderungen nicht das gesuchte Ergebnis.