[pgfplots]: mehrere Datenplots = ein Legendeneintrag?

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: [pgfplots]: mehrere Datenplots = ein Legendeneintrag?

von esdd » Mo 9. Jun 2014, 14:17

Verwende
\addlegendentry{\smash{\raisebox{-1ex}{2}}} 
statt
\addlegendentry{2}
dann rücken die Linien näher zusammen. Zur vertikalen Ausrichtung der 2 kannst du das erste Argument von \raisebox verwenden.

Gruß
Elke

von prankenandi » Mo 9. Jun 2014, 12:35

Leider weiß ich nicht wie man die Einträge etwas zusammenrückt, aber ich denke die gewählte Darstellung macht es ebenso verständlich.

--> siehe auch: pgfplot-manual S.215
Abschnitt 4.9.8 Legends with Customized Texts or Multiple Lines

MfG
\documentclass[tikz,border=1pt]{standalone}
\usepackage[ngerman]{babel}              
\usepackage[ansinew]{inputenc}            
\usepackage[T1]{fontenc}                    
\usepackage{graphicx}
\usepackage{pgfplots}
\usepackage{amsmath}

\begin{document}

\begin{tikzpicture}
\begin{loglogaxis}[
   xlabel={Degrees of freedom},
   ylabel={$L_2$ Error}
]
\addplot[red] coordinates {
   (5,8.312e-02)    (17,2.547e-02)   (49,7.407e-03)
   (129,2.102e-03)  (321,5.874e-04)  (769,1.623e-04)
   (1793,4.442e-05) (4097,1.207e-05) (9217,3.261e-06)
};\addlegendentry{}
%
\addplot[blue] coordinates{
   (7,8.472e-02)    (31,3.044e-02)    (111,1.022e-02)
   (351,3.303e-03)  (1023,1.039e-03)  (2815,3.196e-04)
   (7423,9.658e-05) (18943,2.873e-05) (47103,8.437e-06)
};\addlegendentry{2}
%
\addplot[green] coordinates{
   (9,7.881e-02)     (49,3.243e-02)    (209,1.232e-02)
   (769,4.454e-03)   (2561,1.551e-03)  (7937,5.236e-04)
   (23297,1.723e-04) (65537,5.545e-05) (178177,1.751e-05)
};\addlegendentry{}
%
\addlegendimage{empty legend}
\addlegendentry{---}
%
\addplot[pink] coordinates{
   (11,6.887e-02)    (71,3.177e-02)     (351,1.341e-02)
   (1471,5.334e-03)  (5503,2.027e-03)   (18943,7.415e-04)
   (61183,2.628e-04) (187903,9.063e-05) (553983,3.053e-05)
};\addlegendentry{5}
%
\addplot[black] coordinates{
   (13,5.755e-02)     (97,2.925e-02)     (545,1.351e-02)
   (2561,5.842e-03)   (10625,2.397e-03)  (40193,9.414e-04)
   (141569,3.564e-04) (471041,1.308e-04) (1496065,4.670e-05)
};\addlegendentry{6}

\end{loglogaxis}
\end{tikzpicture}

\end{document} 

[pgfplots]: mehrere Datenplots = ein Legendeneintrag?

von Joshua » Mo 12. Mai 2014, 16:34

Hallo liebes Forum,

ich habe gerade einen Umfangreichen Datenplot mit Messdatenauswertungen erstellt.

Dabei würde ich gerne der Übersichtlichkeit wegen mehrere Funktionsplots "gruppieren" und diesen einen gemeinsamen Legendeneintrag zuordnen:
\documentclass[tikz,border=1pt]{standalone} 
\usepackage[ngerman]{babel}					
\usepackage[ansinew]{inputenc}				
\usepackage[T1]{fontenc}							
\usepackage{graphicx} 
\usepackage{pgfplots}
\usepackage{amsmath} 

\begin{document} 

\begin{tikzpicture}
\begin{loglogaxis}[
	xlabel={Degrees of freedom},
	ylabel={$L_2$ Error}
]
\addplot[red] coordinates {
	(5,8.312e-02)    (17,2.547e-02)   (49,7.407e-03)
	(129,2.102e-03)  (321,5.874e-04)  (769,1.623e-04)
	(1793,4.442e-05) (4097,1.207e-05) (9217,3.261e-06)
};
\addlegendentry{2}
\addplot[blue] coordinates{
	(7,8.472e-02)    (31,3.044e-02)    (111,1.022e-02)
	(351,3.303e-03)  (1023,1.039e-03)  (2815,3.196e-04)
	(7423,9.658e-05) (18943,2.873e-05) (47103,8.437e-06)
};
\addlegendentry{2}
\addplot[green] coordinates{
	(9,7.881e-02)     (49,3.243e-02)    (209,1.232e-02)
	(769,4.454e-03)   (2561,1.551e-03)  (7937,5.236e-04)
	(23297,1.723e-04) (65537,5.545e-05) (178177,1.751e-05)
};
\addlegendentry{2}
\addplot[pink] coordinates{
	(11,6.887e-02)    (71,3.177e-02)     (351,1.341e-02)
	(1471,5.334e-03)  (5503,2.027e-03)   (18943,7.415e-04)
	(61183,2.628e-04) (187903,9.063e-05) (553983,3.053e-05)
};
\addlegendentry{5}
\addplot[black] coordinates{
	(13,5.755e-02)     (97,2.925e-02)     (545,1.351e-02)
	(2561,5.842e-03)   (10625,2.397e-03)  (40193,9.414e-04)
	(141569,3.564e-04) (471041,1.308e-04) (1496065,4.670e-05)
};
\addlegendentry{6}
\end{loglogaxis}
\end{tikzpicture}

\end{document}
Für das Beispiel z.B. wäre es wünschenswert, dass die Legende nur mehr 3 Einträge besitzt. "2" bzw. "5" und "6".

Aussehen sollte es so, dass vor "2" nun die drei zugehörigen Linien (enger untereinander) dargestellt sind; also diese drei Linien nur mehr eine Bezeichnung besitzen. "5" und "6" bleiben wie bisher ...

Gibt es hierzu eine Lösung?
Bisher habe ich das immer (aufwändig) über Nachbearbeiten des pdf's in IPE o.ä. Programmen gelöst ... - es wäre halt schön, wenn es eine derartige Möglichkeit schon innerhalb von pgfplots gibt!

Danke im Voraus für Eure Antworten,
Gruß joshua

Nach oben