Ausreißer in selbe Farbe wie Boxplot

Tabellen und Grafiken erstellen und anordnen


Ben
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Di 22. Jul 2014, 10:33
Wohnort: Homburg

Ausreißer in selbe Farbe wie Boxplot

Beitrag von Ben »

Hallo Leute,

ich steh nach langer Zeit mal wieder vor einem Problem in Latex das ich leider nicht selbstständig lösen kann.

Ich habe ein Diagramm mit mehreren boxplots erstellt und dies weist mehrere statistische Ausreißer auf. Soweit so gut.
Nun habe ich die Farben der Boxplots geändert, allerdings ändern sich die Farben der Ausreißer nicht mit...

Gibt es dafür eine Lösung? Notfalls muss ich Photoshop an die erstellte Grafik ran aber eine Lösung innerhalb von Latex wäre mir deutlich lieber.
\documentclass[paper=a4,fontsize=12pt,parskip]{scrreprt} 

\usepackage[utf8]{inputenc}

\usepackage{pgfplots}
\pgfplotsset{compat=1.9} 
\pgfplotsset{/pgf/number format/use comma} 
\usepgfplotslibrary{statistics}

%Farben DIAGRAMME
\usepackage{color}
\definecolor{Diagramm1}{HTML}{636a6e}
\definecolor{Diagramm2}{HTML}{227d41}
\definecolor{Diagramm3}{HTML}{56be79}
\definecolor{Diagramm4}{HTML}{b3e3c3}
\definecolor{Diagramm5}{HTML}{969696}
\definecolor{Diagramm6}{HTML}{d9d9d9}
\definecolor{Diagramm7}{HTML}{3b4042}

\begin{document}
	\begin{figure}[tbh]
		\begin{tikzpicture}
		\begin{axis}[width=\linewidth,
		boxplot/draw direction=y,
		axis x line*=bottom,
		axis y line*=left,
		ymin=0,
		ymax=100,
		xtick={1,2,3,4,5},
		xticklabels={Gruppe 1,Gruppe 2,Gruppe 3,Gruppe 4,Gruppe 5},
		xticklabel style={rotate=30},
		ylabel={Dauer [min]}
		]
		\addplot+[color=Diagramm1,fill=Diagramm1!70,boxplot prepared={
			lower whisker=1, lower quartile=5,
			median=10, upper quartile=15,
			upper whisker=30}]
		coordinates {};
		\addplot+[color=Diagramm2,fill=Diagramm2!70,boxplot prepared={
			lower whisker=2, lower quartile=10,
			median=15, upper quartile=27.5,
			upper whisker=40}]
		coordinates {(0,55)(0,60)(0,90)};
		\addplot+[color=Diagramm3,fill=Diagramm3!70,boxplot prepared={
			lower whisker=1, lower quartile=5,
			median=5, upper quartile=15,
			upper whisker=30}]
		coordinates {(0,60)};
		\addplot+[color=Diagramm1,fill=Diagramm5!70,boxplot prepared={
			lower whisker=0, lower quartile=3,
			median=5, upper quartile=10,
			upper whisker=15}]
		coordinates {};
		\addplot+[color=Diagramm7,fill=Diagramm7!70,boxplot prepared={
			lower whisker=2, lower quartile=5,
			median=5, upper quartile=11.5,
			upper whisker=20}]
		coordinates {(0,30)};
		\end{axis}
		\end{tikzpicture}
		\caption{Boxplot mit Ausreißern}
		\label{gra:nebenzeiten}
	\end{figure}
\end{document}
Dateianhänge
boxplot.PNG
boxplot.PNG (14.55 KiB) 1718 mal betrachtet

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du kannst Dir eine Stil
boxplotcolor/.style={color=#1,fill=#1!70,mark options={color=#1,fill=#1!70}}
definieren und diesen dann bei den einzelnen Plots für die Farbeinstellung von Rand und Füllung verwenden.

\documentclass[paper=a4,fontsize=12pt,parskip]{scrreprt} 
\usepackage[utf8]{inputenc}

\usepackage{pgfplots}
\pgfplotsset{compat=1.9} % <- aktuell wäre derzeit 1.13, auf Overleaf 1.12
\pgfplotsset{/pgf/number format/use comma} 
\usepgfplotslibrary{statistics}

%Farben DIAGRAMME
\usepackage{color}
\definecolor{Diagramm1}{HTML}{636a6e}
\definecolor{Diagramm2}{HTML}{227d41}
\definecolor{Diagramm3}{HTML}{56be79}
\definecolor{Diagramm4}{HTML}{b3e3c3}
\definecolor{Diagramm5}{HTML}{969696}
\definecolor{Diagramm6}{HTML}{d9d9d9}
\definecolor{Diagramm7}{HTML}{3b4042}

\begin{document}
   \begin{figure}[tbh]
      \begin{tikzpicture}
      \begin{axis}[width=\linewidth,
      boxplot/draw direction=y,
      axis x line*=bottom,
      axis y line*=left,
      ymin=0,
      ymax=100,
      xtick={1,2,3,4,5},
      xticklabels={Gruppe 1,Gruppe 2,Gruppe 3,Gruppe 4,Gruppe 5},
      xticklabel style={rotate=30},
      ylabel={Dauer [min]},
      boxplotcolor/.style={color=#1,fill=#1!70,mark options={color=#1,fill=#1!70}}
      ]
      \addplot+[boxplotcolor=Diagramm1,boxplot prepared={
         lower whisker=1, lower quartile=5,
         median=10, upper quartile=15,
         upper whisker=30}]
      coordinates {};
      \addplot+[boxplotcolor=Diagramm2,boxplot prepared={
         lower whisker=2, lower quartile=10,
         median=15, upper quartile=27.5,
         upper whisker=40}]
      coordinates {(0,55)(0,60)(0,90)};
      \addplot+[boxplotcolor=Diagramm3,boxplot prepared={
         lower whisker=1, lower quartile=5,
         median=5, upper quartile=15,
         upper whisker=30}]
      coordinates {(0,60)};
      \addplot+[boxplotcolor=Diagramm1,fill=Diagramm5!70,boxplot prepared={
         lower whisker=0, lower quartile=3,
         median=5, upper quartile=10,
         upper whisker=15}]
      coordinates {};
      \addplot+[boxplotcolor=Diagramm7,boxplot prepared={
         lower whisker=2, lower quartile=5,
         median=5, upper quartile=11.5,
         upper whisker=20}]
      coordinates {(0,30)};
      \end{axis}
      \end{tikzpicture}
      \caption{Boxplot mit Ausreißern}
      \label{gra:nebenzeiten}
   \end{figure}
\end{document}

Ben
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Di 22. Jul 2014, 10:33
Wohnort: Homburg

Beitrag von Ben »

Vielen Dank!

Das funktioniert ausgezeichnet :D .

Die Option die ich gesucht habe war:
mark options={fill=Diagramm2!70}
Die funktioniert auch ohne definierten Stil ausgezeichnet. Aber natürlich ist es säuberer einen Stil zu definieren :D

Gruß

Ben

Antworten