BoxWhisker: Diagramm anpassen Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


LenaCg

BoxWhisker: Diagramm anpassen

Beitrag von LenaCg »

Hallo zusammen :)

ich bin dabei mir ein Box Whisker Diagramm zu erstellen:
\documentclass[a4paper,12pt,DIV13,listof=totoc,listof=entryprefix,index=totoc,bibliography=totoc]{scrartcl}	

\usepackage{pgfplots}									
\usepackage{tikzscale}									
\usepackage{filecontents}
\pgfplotsset{compat=1.8}
\usetikzlibrary{pgfplots.statistics}

\tikzset{every x tick label/.append style={/pgf/number format/.cd, 
            fixed, 
            fixed zerofill, 
            precision=2}}

\begin{document}

\begin{tikzpicture}

  \begin{axis}
    [
    ytick={1,2},
    yticklabels={BoxPlot1, BoxPlot2},
    ]  
 
    \addplot[   										
    boxplot prepared={
      median=0.0160,
      upper quartile=0.0183,
      lower quartile=0.0131,
      upper whisker=0.0316,
      lower whisker=0.0077
    },
    ] coordinates {};
    
    \addplot[      											
    boxplot prepared={
      median=0.0448,
      upper quartile=0.0657,
      lower quartile=0.0348,
      upper whisker=0.0925,
      lower whisker=0.0201
    },
    ] coordinates {};
    
  \end{axis}
\end{tikzpicture}

\end{document}
Hierzu habe ich 3 Fragen:

1. Ist es möglich, dass die x-Achse direkt bei der y-Achse mit 0.00 startet? Die 0.00-Koordinate der x-Achse fängt leider nicht auf der y-Achse an :/

2. Ich würde gerne den Mittelwert noch mit einfließen lassen. Ist es also möglich, den Mittelwert noch mit hinzuzunehmen?

3. Ich benötige für jeden Punkt (also für Mini, Max, Median ... etc) eine Markierung und die passende Legende dazu. Wenn ich es in SchwarzWeiß drucken will fehlt mir aufgrund der fehlenden Markierungen die Zuordnung.



Ich bin neu in der Welt LaTex, es wäre supi nett von euch wenn ihr mir helfen könntet! :)

Vielen lieben Dank.
Lieben Gruß

Lena :)

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

Beitrag von esdd »

Verwendest Du wirklich noch Version 1.8? Aktuell ist Version 1.12.1 Dann müsste bei compat 1.12 angegeben werden.

Damit das Diagramm beim x-Wert Null beginnt, kannst Du als Option für axis noch xmin=0 ergänzen.

Wenn Du den Mittelwert markiert haben willst, dann ergänze average=<wert> bei den jeweiligen boxplot prepared.

Bei Frage 3 ist mir unklar, was Du machen möchtest bzw. wie das Ergebnis aussehen soll.

Gruß
Elke

LenaCg

Beitrag von LenaCg »

Hallp liebe Elke,

vielen Dank schonmal für deine Hilfe! :)

Deine Anmerkungen funktionieren schonmal klasse!

Zu Punkt 3 nochmal:
Ich möchte, dass bspw. auf dem Strich vom Maximum ein "mark=x" eingesetzt wird. Darüber hinaus soll dann eine Legende rechts vom Diagramm sein, dass dann den Eintrag "x Maximum" zeigt.

Ich hoffe es ist jetzt verständlich :)

Ich wäre für eine Lösung sehr sehr dankbar!
Lieben Gruß

Lena

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

Beitrag von esdd »

Irgendwie würde ich davon ausgehen, dass man ein solches Diagramm auch deshalb verwendet, weil dann bekannt ist, welche Linie bzw. Box darin was bedeutet. Die Punkte lassen sich zwar schon markieren (Infos dazu finden sich in der Doku von [d]pgfplots[/d], aber zum einen ist das doch mit etwas Aufwand verbunden und zum anderen ist die Information irgendwie redundant. Die "Legende" müsste man dann auch noch quasi von Hand irgendwie als Matrix erstellen. Hast Du nur ein solches Diagramm mit zwei Boxplots zu machen oder sind es mehr? Wenn Du mehrere machen musst und die Darstellung nicht als bekannt vorausgesetzt werden kann, dann wäre eine erklärende Zeichnung, wie auf Wikipedia vielleicht sinnvoller.

Gruß
Elke

LenaCg

Beitrag von LenaCg »

das ist eine ziemlich gute idee von dir mit der erklärenden Zeichnung! :)

Grundsätzlich gehe ich auch davon aus, dass man weiß wie ein Boxplot aufgebaut ist und zu verstehen ist, dennoch gibt es ja immer Leute, die es noch über eine Legende erläutert haben möchten.

Vielen Dank für deine tollen Vorschläge! :)

Gruß
Lena

LenaCg

Beitrag von LenaCg »

Hallo liebe Leute,

ich brauche da doch nochmal ein wenig Hilfe von euch :/ :)

Ich würde gerne die y-Achseneinträge nochmal Kategorisieren, also das links von "BoxPlot 1" und "Boxplot 2" mittig nochmal "Gruppe A" steht.

Ich hoffe es ist verständlich was ich meine :D

Lieben Gruß
Lena

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

Beitrag von esdd »

Markiere Dir in der axis Umgebung zwei Koordinaten und füge dann außerhalb der Umgebung die Beschriftung ein. Du kannst den Node current bounding box zum Ausrichten verwenden.

Mit compat=1.12 oder wenigstens 1.11:
\documentclass[a4paper,12pt,DIV13,listof=totoc,listof=entryprefix,index=totoc,bibliography=totoc]{scrartcl}   
\usepackage{pgfplots}                           
\pgfplotsset{compat=1.12} 
\usetikzlibrary{pgfplots.statistics} 
\tikzset{every x tick label/.append style={/pgf/number format/.cd, 
             fixed, 
             fixed zerofill, 
             precision=2}} 
\begin{document} 
\begin{tikzpicture} 
   \begin{axis} 
     [ 
     ytick={1,2}, 
     yticklabels={BoxPlot1, BoxPlot2},
     xmin=0,
     ]   
     \addplot[                                 
     boxplot prepared={ 
       median=0.0160, 
       upper quartile=0.0183, 
       lower quartile=0.0131, 
       upper whisker=0.0316, 
       lower whisker=0.0077 
     }, 
     ] coordinates {}; 
     \addplot[                                       
     boxplot prepared={ 
       median=0.0448, 
       upper quartile=0.0657, 
       lower quartile=0.0348, 
       upper whisker=0.0925, 
       lower whisker=0.0201 
     }, 
     ] coordinates {}; 
   % Punkte "merken"
   \path (0,1)coordinate (As)
         (0,2)coordinate (Ae);
   \end{axis}
   % Beschriftung einfügen
   \path(As-|current bounding box.west)
     -- node[anchor=south,rotate=90]{Boxplot A}
    (Ae-|current bounding box.west);
\end{tikzpicture} 
\end{document}
Gruß
Elke

PS: Bitte schaue Dir an, was der Status "Rückfrage" bedeutet.

Antworten