Bar Chart, einzelne Bars (Coordinates) schraffieren

Tabellen und Grafiken erstellen und anordnen


Defacto_Bernd
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 4. Mär 2021, 16:02

Bar Chart, einzelne Bars (Coordinates) schraffieren

Beitrag 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


Defacto_Bernd
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Do 4. Mär 2021, 16:02

Re: Bar Chart, einzelne Bars (Coordinates) schraffieren

Beitrag 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]
		

Gast.

Beitrag von Gast. »

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


Antworten