Seite 1 von 1

Ausreißer in selbe Farbe wie Boxplot

Verfasst: Do 30. Jun 2016, 13:22
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}

Verfasst: Do 30. Jun 2016, 15:47
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}

Verfasst: Do 30. Jun 2016, 18:46
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