Eine Legende für Diagramm mit zwei y-Achsen

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: Eine Legende für Diagramm mit zwei y-Achsen

von Darcy » Di 16. Mai 2017, 10:25

Super, danke! :) Hat wunderbar funktioniert!

von esdd » Mo 15. Mai 2017, 16:06

Du kannst mit \label und \ref arbeiten, um die Legende manuell am gewünschten Platz zu erstellen:
\documentclass{scrartcl} 
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usetikzlibrary{matrix}

\begin{document} 
\centering 
\begin{tikzpicture} 
  \begin{axis}[scale only axis, 
      axis y line=left] 
       \addplot[color=red,mark=x] coordinates { 
      (2,-2) 
      (3,-3) 
      (4,-4)};
      \label{plots:langer test1}
  \end{axis} 
  \begin{axis} 
     [scale only axis, 
      axis y line=right, 
      axis x line=none]
      \addplot[color=blue,mark=*] coordinates { 
      (2,10) 
      (3,20) 
      (4,30)};
      \label{plots:test2}
      \addplot[color=green,mark=*] coordinates { 
      (2,20) 
      (3,30) 
      (4,40)};
      \label{plots:test3}
  \end{axis}
  \matrix[
    matrix of nodes,
    draw,
    anchor=north,
    column 1/.style={nodes={anchor=center}},
    column 2/.style={nodes={anchor=west}}
  ] at([yshift=-2.5em]current axis.south)
  {
    \ref{plots:langer test1}&Langer Test\\
    \ref{plots:test2}&Test 2\\
    \ref{plots:test3}&Test 3\\
  };
\end{tikzpicture} 
\end{document}

Eine Legende für Diagramm mit zwei y-Achsen

von Darcy » Mo 15. Mai 2017, 15:12

Hallo zusammen,

ich bastel gerade an schönen Diagrammen für meine Masterarbeit und inzwischen sieht auch fast alles aus wie gewünscht.
Aber in einem Diagramm habe ich zwei y-Achsenbeschriftungen und entsprechend werden zwei Legenden generiert, die auf einander liegen, wenn man sie nicht manuell verschiebt.
Ich möchte aber eigentlich nur EINE Legende mit den Inhalten bezüglich beider Achsen. Also im untenstehenden Beispiel hätte ich gerne eine Box in der alle drei Beschriftungen über einander stehen wie es bei "test2" und "test3" automatisch der Fall ist.

Vielen Dank für die Hilfe!
Darcy
\documentclass{scrartcl}
 
\usepackage{pgfplots}

\pgfplotsset{compat=newest, legend cell align=left,
every axis legend/.append style={
at={(0.5,-0.25)},
anchor=south}}
 
\begin{document}
\centering
	\begin{tikzpicture}
	
	  \begin{axis}[scale only axis,
			axis y line=left]
 			\addplot[color=red,mark=x] coordinates {
			(2,-2)
			(3,-3)
			(4,-4)};
			\legend{\large{Langer test1}}
			\end{axis}
			
		  \begin{axis}
		  [scale only axis,
			axis y line=right,
			axis x line=none]
			\addplot[color=blue,mark=*] coordinates {
			(2,10)
			(3,20)
			(4,30)};
			\addplot[color=green,mark=*] coordinates {
			(2,20)
			(3,30)
			(4,40)};
			\legend{test2,test3}
		  \end{axis}
		\end{tikzpicture}
\end{document}


Nach oben