Groupplot in Groupplot-Umgebung (multiple Achsenunterbr.)

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Groupplot in Groupplot-Umgebung (multiple Achsenunterbr.)

Groupplot in Groupplot-Umgebung (multiple Achsenunterbr.)

von Physikus4211 » Sa 15. Sep 2018, 18:31

Hallo zusammen,

bevor ich jetzt weitere Stunden damit verschwende meinen Code vernünftig ans laufen zu kriegen frage ich einfach mal hier.

Problem: Ich möchte innerhalb einer Groupplot-Umgebung einen weiteren Groupplot einfügen. Das Ganze soll dazu dienen, dass ich die Unterbrechung der y-Achse mittels axis y discontinuity=crunch für mehrere Bereiche nutzen kann!

Die einzelne Grafik habe ich bisher so erstellt:
\documentclass{standalone}
\usepackage[]{siunitx}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=newest}

\pgfplotsset{every axis plot/.append style={thick}}

\usepgfplotslibrary{groupplots}

\newcommand{\punktdicke}{2pt}

\begin{document}

\begin{tikzpicture}[]

\begin{groupplot}[
        group style={
          group size=1 by 4,
     xlabels at=edge bottom,
        xticklabels at=edge bottom,
          vertical sep=0pt
      },
      legend cell align=left,
      legend pos=north east,
      width=0.9\textwidth,
      xtick = {1,2,3,4,5,6,7,8,9,10},
      xmin = 0.5, xmax = 10.5
    ]

  \nextgroupplot[      
        height = 4cm,
        axis y discontinuity=crunch, ymin = 653, ymax=701, axis x line*=bottom,axis x line*=top, 
      ]
     \addplot[mark  = o, mark size = \punktdicke,  blue] plot coordinates {
        (1,700)
        (2,670)
        (4,665)
        (5,661)
        (6,659)
        (7,656)
        (8,655)
        (9,654)
        (10,653)
        };
      \coordinate (top) at (rel axis cs:0,1);
      
   \nextgroupplot[
       height = 4cm, axis y discontinuity=crunch, ymin = 359, ymax=363, axis x line*=top,axis x line=none, 
      ]
      \addplot[mark  = o, mark size = \punktdicke,  cyan] plot coordinates {
      (1.0000 ,362.959000) 
      (2.0000 , 360.470000  )
      (3.0000  ,360.469500  )
      (4.0000 , 359.970000 ) 
      (5.0000 ,360.466500) 
      (6.0000 , 359.962000) 
      (7.0000, 360.446500 )
      (8.0000 , 360.467000  )
      (9.0000 , 359.462000 )
      (10.0000 , 359.984500)
                };
      
       \nextgroupplot[
         height = 4cm, ymin = 189, ymax=195 , axis y discontinuity=crunch, axis x line*=top,axis x line=none]
     \addplot[mark  = o, mark size = \punktdicke,  green] plot coordinates {
      (1.0000 ,192.352) 
      (2.0000 , 190.35  )
      (3.0000  ,190.847  )
      (4.0000 , 190.3545 ) 
      (5.0000 ,189.359) 
      (6.0000 , 190.358)  
      (7.0000, 189.3550 )
      (8.0000 , 189.355  )
      (9.0000 , 189.83 )
      (10.0000 , 189.851)
                };  
      
        \nextgroupplot[
         height = 4cm, ymin = 130, ymax=140, axis y discontinuity=crunch, axis x line*=top,axis x line*=bottom, xlabel = {Messung Nr. }
      ]
\addplot[mark  = o, mark size = \punktdicke,red] plot coordinates {
      (1.0000 , 135.3) 
      (2.0000 , 133  )
      (3.0000  , 132)
      (4.0000 , 133) 
      (5.0000 ,132.3) 
      (6.0000 , 133.3) 
      (7.0000, 131.2 )
      (8.0000 , 131.5  )
      (9.0000 , 131.8 )
      (10.0000 , 131.1)
                };  
                
      \coordinate (bot) at (rel axis cs:1,0);
     
      \end{groupplot}
    
\path (top-|current bounding box.west)-- 
            node[anchor=south,rotate=90] {\(H_\text{C}\ \left[G\right]\)} 
            (bot-|current bounding box.west);
    
            
\end{tikzpicture}

\end{document}

Diese Darstellung soll in den folgenden Groupplot eingepflegt werden:
\documentclass{standalone}
\usepackage[]{siunitx}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=newest}


\pgfplotsset{every axis plot/.append style={ semithick},
legend pos={outer north east}
}

\usepgfplotslibrary{groupplots}

\newcommand{\punktdicke}{2pt}

\begin{document}

 \begin{tikzpicture}[]
\pgfkeys{/pgf/number format/.cd,1000 sep={}}
	\begin{groupplot}[
        group style={group size=3 by 2,
        horizontal sep=45pt,
        vertical sep=35pt},
        width= 7cm,
        height = 7cm,
      	xtick={1,2,...,10}]

 \nextgroupplot[
 ylabel={\(H_\text{EB}\) [G]}
 ]

\nextgroupplot[ylabel={\(H_\text{C}\) [G]}]
\addplot[mark  = o, mark size = \punktdicke,  blue] plot coordinates {
        (1,700)
        (2,670)
        (4,665)
        (5,661)
        (6,659)
        (7,656)
        (8,655)
        (9,654)
        (10,653)
        };
        
        \addplot[mark  = o, mark size = \punktdicke,  cyan] plot coordinates {
      (1.0000 ,362.959000) 
(2.0000 , 360.470000  )
(3.0000  ,360.469500  )
(4.0000 , 359.970000 ) 
(5.0000 ,360.466500) 
(6.0000 , 359.962000) 
(7.0000, 360.446500 )
(8.0000 , 360.467000  )
(9.0000 , 359.462000 )
(10.0000 , 359.984500)
                };
                
            \addplot[mark  = o, mark size = \punktdicke,  green] plot coordinates {
      (1.0000 ,192.352) 
(2.0000 , 190.35  )
(3.0000  ,190.847  )
(4.0000 , 190.3545 ) 
(5.0000 ,189.359) 
(6.0000 , 190.358) 
(7.0000, 189.3550 )
(8.0000 , 189.355  )
(9.0000 , 189.83 )
(10.0000 , 189.851)
                };  
                
                
                \addplot[mark  = o, mark size = \punktdicke,red] plot coordinates {
      (1.0000 , 135.3) 
(2.0000 , 133  )
(3.0000  , 132)
(4.0000 , 133) 
(5.0000 ,132.3) 
(6.0000 , 133.3) 
(7.0000, 131.2 )
(8.0000 , 131.5  )
(9.0000 , 131.8 )
(10.0000 , 131.1)
                };          
                

\nextgroupplot[ylabel={\(M \left(H_\text{EB}\right)\) [emu]}
]

\nextgroupplot[
 ylabel={\(H_\text{EB}\) [G]},
  xlabel={Messung Nr. },  ]


\nextgroupplot[ylabel={\(H_\text{C}\) [G]},  xlabel={Messung Nr. },]

\addplot[mark  = o, mark size = \punktdicke,  blue] plot coordinates {
        (1,700)
        (2,670)
        (4,665)
        (5,661)
        (6,659)
        (7,656)
        (8,655)
        (9,654)
        (10,653)
        };
        
        \addplot[mark  = o, mark size = \punktdicke,  cyan] plot coordinates {
      (1.0000 ,362.959000) 
(2.0000 , 360.470000  )
(3.0000  ,360.469500  )
(4.0000 , 359.970000 ) 
(5.0000 ,360.466500) 
(6.0000 , 359.962000) 
(7.0000, 360.446500 )
(8.0000 , 360.467000  )
(9.0000 , 359.462000 )
(10.0000 , 359.984500)
                };
                
            \addplot[mark  = o, mark size = \punktdicke,  green] plot coordinates {
      (1.0000 ,192.352) 
(2.0000 , 190.35  )
(3.0000  ,190.847  )
(4.0000 , 190.3545 ) 
(5.0000 ,189.359) 
(6.0000 , 190.358) 
(7.0000, 189.3550 )
(8.0000 , 189.355  )
(9.0000 , 189.83 )
(10.0000 , 189.851)
                };  
                
                
                \addplot[mark  = o, mark size = \punktdicke,red] plot coordinates {
      (1.0000 , 135.3) 
(2.0000 , 133  )
(3.0000  , 132)
(4.0000 , 133) 
(5.0000 ,132.3) 
(6.0000 , 133.3) 
(7.0000, 131.2 )
(8.0000 , 131.5  )
(9.0000 , 131.8 )
(10.0000 , 131.1)
                };    

\nextgroupplot[ylabel={\(M \left(H_\text{EB}\right)\) [emu]}, 
xlabel={Messung Nr.},
]
\end{groupplot}

\end{tikzpicture}

\end{document}

Den Rest der Grafik habe ich leer gelassen, weil die Daten in einer Größenordnung vorliegen.

Das Problem ist, dass es scheinbar nicht möglich ist, den Groupplot verschachtelt zu machen. Also innerhalb einer Groupplot-Umgebung eine weitere zu eröffnen.
Hat jemand eine Idee wie man das Problem lösen kann? Ich habe auf anderen Seiten auch Lösungen gefunden, bei denen die Unterbrechung der y-Achse nur mit der Axis Umgebung gelöst wird - das hilft hier aber leider auch nicht.

Ich freue mich auf Lösungsvorschläge und stehe für Rückfragen gerne zur Verfügung.

Nach oben