Die Mathe-Redaktion - 17.10.2018 01:19 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
Listenpunkt2 im Schwätz / Top 15
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Schwarzes Brett
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden. Mitglieder können den Matheplanet-Newsletter bestellen, der etwa alle 2 Monate erscheint.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 320 Gäste und 10 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von Stefan_K
Matroids Matheplanet Forum Index » Textsatz mit LaTeX » 6 Tikz-Bilder sauber ausrichten
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule 6 Tikz-Bilder sauber ausrichten
Carmageddon
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.12.2009
Mitteilungen: 589
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2018-06-27

\(\begingroup\)
Hallo zusammen,

ich bin gerade dabei 6 Tikz-Bilder sauber auszurichten und zwar in drei Zeilen und zwei Spalten. Die Bilder haben die selbe Breite und Höhe, aber leider ist die Achsenbeschriftung nicht einheitlich, d.h. de Bilder "wackeln" (siehe Bild).

Hier ist mein aktueller Code:

\(\begin{figure}[htbp]
\input{ex6_u.tikz}  \input{ex6_y_p.tikz}
\caption{Example 6.}
\label{example6}\vspace{0.5cm}

\input{ex8_u.tikz}  \input{ex8_y_p.tikz}
\caption{Example 7.}
\label{example8}\vspace{0.5cm}

\input{ex9_u.tikz}  \input{ex9_y_p.tikz}
\caption{Example 8.}
\label{example9}
\end{figure}\)

Ich möchte das jeweils eine Zeile eine Caption bekommt. Subfigure kann das afaik nicht?

Mein Hauptproblem ist aber das die Bilder nicht korrekt untereinander ausgerichtet sind, desweiteren passen die Abstände zwischen den Zeilen nicht. Hat jemand eine Idee wie man das hinbekommen kann?

Vielen Dank und viele Grüße





-----------------
Zitat: "Es gibt einen Beweis aus der Physik: Er ist kurz, er ist elegant... und falsch"
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
Ehemaliges_Mitglied
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2018-06-27

\(\begingroup\)
Hallo!

Hoffentlich habe ich die Frage richtig verstanden:

Ich würde eine Tabelle anlegen (die Distanzierung der jeweiligen Zeilen bzw. Spalten kann optional angepasst werden) und dann mit dem Befehl $\texttt{\multicolumn{2}{c}{CAPTION}}$ die Caption einfügen.

Hier ein kurzer Beispiel:
$\LaTeX$
\begin{tabular}{lr}
		\multicolumn{2}{c}{Hallo} \\
		    test & test \\[2ex]
		\multicolumn{2}{c}{Hallo} \\
		    test & test \\[2ex]
		\multicolumn{2}{c}{Hallo} \\
		    test & test 
\end{tabular}

(Man kann auf die optionale „Tiefe“ $\texttt{[2ex]}$ verzichten – dies dient nur als Beispiel.)


MfG,
xxUSERxx
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
markusv
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 24.01.2017
Mitteilungen: 150
Aus: Leipzig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2018-06-27

\(\begingroup\)
Hallo.

Du kannst versuchen, das ganze in eine minipage zu packen und evtl. mit \hfill zu unterstützen. Dann sollte das ganze auch als subfigure (ich empfehle jedoch als Paket den Nachfolger subcaption) funktionieren.

Dein Problem liegt aber, wie du schon richtig erkannt hast, an den unterschiedlich breiten Achsenbeschriftungen. Wie du dies behebst, steht bspw. hier.

Daraus abgewandelt für dein Problem folgendes MB:
LaTeX
\documentclass[]{scrartcl}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\begin{document}
\begin{figure}[htbp] 
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}
      \addplot coordinates {(1,6.45)(2,3.4)(3,4.8)(4,4.1)(5,4.4)};
    \end{axis}
  \end{tikzpicture}\hfill
  \begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}[ylabel = {$y(x)$}]
      \addplot coordinates {(1,66.4)(2,43.4)(3,4.8)(4,4.1)(5,9.4)};
    \end{axis}
  \end{tikzpicture}
 
\caption{Example 6.} 
\label{example6}\par\bigskip
 
  \begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}[ylabel = {$y(x)$}]
      \addplot coordinates {(1,66.4)(2,43.4)(3,4.8)(4,4.1)(5,9.4)};
    \end{axis}
  \end{tikzpicture}\hfill
  \begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}
      \addplot coordinates {(1,6.45)(2,3.4)(3,4.8)(4,4.1)(5,4.4)};
    \end{axis}
  \end{tikzpicture}
 
\caption{Example 7.} 
\label{example8}\par\bigskip
 
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}
      \addplot coordinates {(1,6.45)(2,3.4)(3,4.8)(4,4.1)(5,4.4)};
    \end{axis}
  \end{tikzpicture}\hfill
  \begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}
      \addplot coordinates {(1,6.45)(2,3.4)(3,4.8)(4,4.1)(5,4.4)};
    \end{axis}
  \end{tikzpicture}
\caption{Example 8.} 
\label{example9} 
\end{figure}
\end{document}


[Die Antwort wurde vor Beitrag No.1 begonnen.]
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15384
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, eingetragen 2018-06-27


Meistens macht man sowas mit subcation.sty und 'subcaptionbox':


latex
\documentclass[11pt,ngerman]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{subcaption}
 
\usepackage{mwe}
 
\begin{document}
\begin{figure}[!htb]
\centering
\subcaptionbox{Erstes Bild}{%
\includegraphics[width=2in]{example-image}
}
\subcaptionbox{Zweites Bild}{%
\includegraphics[width=2in]{example-image}
} 
\subcaptionbox{Drittes Bild}{%
\includegraphics[width=2in]{example-image}
}\\
\subcaptionbox{Viertes Bild}{%
\includegraphics[width=2in]{example-image}
}
\subcaptionbox{Fünftes Bild}{%
\includegraphics[width=2in]{example-image}
} 
\subcaptionbox{Sechstes Bild}{%
\includegraphics[width=2in]{example-image}
}
\caption{Alle Bilder}
\end{figure}
\end{document}


Bei pgfplots bietet sich ggf. ein groupplot an. Allerdings ist die Beschriftung mit subcaptions hier weniger intuitiv gehalten:




latex
\documentclass[12pt]{article}
\usepackage{pgfplots}
	\usepgfplotslibrary{groupplots}
 
\usepackage{caption,subcaption}  
	\renewcommand\thesubfigure{(\alph{subfigure})}
 
\begin{document}
 
\begin{figure}[!h]
\centering
\begin{tikzpicture}
\begin{groupplot}[
group style={
group name=my plots,
group size= 3 by 3,
horizontal sep =1.5cm,
vertical sep =2cm},
width=2in
]
\nextgroupplot[]
\addplot[] {x^0};
 
\nextgroupplot[]
\addplot[] {x^1};
 
\nextgroupplot[]
\addplot[] {x^2};
 
\nextgroupplot[]
\addplot[] {x^3};
 
\nextgroupplot[]
\addplot[] {x^4};
 
\nextgroupplot[]
\addplot[] {x^5};
\end{groupplot}
 
% Bildunterschriften
\tikzset{SubCaption/.style={
text width=2in,yshift=-3mm, align=center,anchor=north
}}
 
\node[SubCaption] at (my plots c1r1.south) {\captionof{subfigure}{Erstes Bild\label{subplot:eins}}};
 
\node[SubCaption] at (my plots c2r1.south) {\captionof{subfigure}{Zweites Bild\label{subplot:zwei}}};
 
\node[SubCaption] at (my plots c3r1.south) {\captionof{subfigure}{Drittes Bild\label{subplot:drei}}};
 
 
\node[SubCaption] at (my plots c1r2.south) {\captionof{subfigure}{Viertes Bild\label{subplot:vier}}};
 
\node[SubCaption] at (my plots c2r2.south) {\captionof{subfigure}{F{\"u}nftes Bild\label{subplot:fuenf}}};
 
\node[SubCaption] at (my plots c3r2.south) {\captionof{subfigure}{Sechstes Bild\label{subplot:sechs}}};
\end{tikzpicture}
\caption{Alle Bilder}\label{fig:plots}
\end{figure}
 
\end{document}


PS: Deshalb ist der Titel auch nicht ganz richtig. Hier handelt es sich um 6 pgfplots-Graphen, die gleichmäßig ausgerichtet werden sollen. Dafür stellt pgfplots die Funktion groupplot bereit.

Bei irgendwelchen 6 TikZ-Bildern, die gleich groß sein sollen und gleichmäßig angeordnet werden sollen, würde es nochmal komplizierter. Dazu gibt es das Paket tikzscale.sty





-----------------
Wenn man alles ausgeschaltet hat, was unmöglich ist, bleibt am Ende etwas übrig, das die Wahrheit enthalten muß - mag es auch noch so unwahrscheinlich sein...
(Sherlock Holmes)
·



  Profil  Quote  Link auf diesen Beitrag Link
Carmageddon
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.12.2009
Mitteilungen: 589
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2018-06-28

\(\begingroup\)
Hallo,

Vielen Dank für die Vorschläge. Der Tipp mit trim axis war gut. Dummerweise - oder logischerweise - steht nun die Achsenbeschriftung über den Rand hinaus.


Wie ich bereits geschrieben habe, gefällt mir das Design von subcaption einfach nicht - Ich will keine Bilder von a) - d) durchnummerieren. Damit dürfte auch groupplot aus dem Rennen sein. Es sei denn, man kann dies so formatieren wie ich das gerne hätte.

Der Grund liegt dadrin, dass die Bilder inhaltlich nicht unbedingt zusammen passen. Deswegen möchte ich separate Figure-Umgebungen für sie haben.

Ich habe mal Minipages um die Bilder gelegt und sie skaliert und verschoben. Das sieht nun wie folgt aus:



Hier ist der entsprechende Code:

Latex
\begin{figure}[H]
%	\fbox{
	\hspace{1.1cm}	
	\begin{minipage}[t][0cm]{0.4\textwidth}
	 \input{tikz/bregman/example4/ex4_u.tikz} 
	\end{minipage}
  %  }
	\hspace{0.7cm}
%	\fbox{
	\begin{minipage}[t][0cm]{0.4\textwidth}
		\input{tikz/bregman/example4/ex4_y_p.tikz}
	\end{minipage}
  % }
   \vspace{-0.1cm}
\caption{Error $\|u_k - u^\dagger\|_\L$, $\|y_k - y^\dagger\|_\L$, $\|p_k - p^\dagger\|_\L$ for Example 4.}
\label{fig:numerical_bregman:example4}
%
%
%
	%
	\vspace{1cm}
%	\fbox{
	\hspace{1.1cm}	
	\begin{minipage}[t][0cm]{0.4\textwidth}
		\input{tikz/bregman/example5/ex5_u.tikz}
	\end{minipage}
%}
	\hspace{0.7cm}	
%	\fbox{
	\begin{minipage}[t][0cm]{0.4\textwidth}
		 \input{tikz/bregman/example5/ex5_y_p.tikz}
	\end{minipage}
%}
\vspace{-0.1cm}
	\caption{Error $\|u_k - u^\dagger\|_\L$, $\|y_k - y^\dagger\|_\L$, $\|p_k - p^\dagger\|_\L$ for Example 5.}
	\label{fig:numerical_bregman:example5}
%	
%	
%	
%	
%	
%	
\vspace{1cm}
	%	\fbox{
			\hspace{1.1cm}	
			\begin{minipage}[t][0cm]{0.4\textwidth}
				\input{tikz/bregman/example6/ex6_u.tikz}
			\end{minipage}
%		}
		\hspace{0.7cm}	
%		\fbox{
			\begin{minipage}[t][0cm]{0.4\textwidth}
				\input{tikz/bregman/example6/ex6_y_p.tikz}
			\end{minipage}
%		}
		\vspace{-0.1cm}
		\caption{Error $\|u_k - u^\dagger\|_\L$, $\|y_k - y^\dagger\|_\L$, $\|p_k - p^\dagger\|_\L$ for Example 6.}
			\label{fig:numerical_bregman:example6}
 
 
\end{figure}
 



Sieht soweit ganz gut aus - ist natürlich unglaublich unsauber! Das muss doch aber irgendwie sauberer gehen?


-----------------
Zitat: "Es gibt einen Beweis aus der Physik: Er ist kurz, er ist elegant... und falsch"
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
markusv
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 24.01.2017
Mitteilungen: 150
Aus: Leipzig
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.5, eingetragen 2018-06-28

\(\begingroup\)
Mit subcaption erhält man nicht automatische eine Nummerierung von a) bis x) ...

Das ganze nochmal mit subcaption und trim axis:
LaTeX
\documentclass[]{article}
\usepackage[margin=2cm]{geometry}
\usepackage{subcaption}
 \usepackage{pgfplots}
\pgfplotsset{compat=newest}
 
\usepackage{mwe}
 
\begin{document}
\begin{figure}
\begin{subfigure}[b]{.5\linewidth}\centering
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}
      \addplot {x^0};
    \end{axis}
  \end{tikzpicture}
\end{subfigure}
\begin{subfigure}[b]{.5\linewidth}\centering
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}
      \addplot {x^1};
    \end{axis}
  \end{tikzpicture}
\end{subfigure}
\caption{A figure}\bigskip
\begin{subfigure}[b]{.5\linewidth}\centering
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}[ylabel = {$y(x)$}]
      \addplot {x^2};
    \end{axis}
  \end{tikzpicture}
\end{subfigure}%
\begin{subfigure}[b]{.5\linewidth}\centering
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}[ylabel = {$y(x)$}]
      \addplot {x^3};
    \end{axis}
  \end{tikzpicture}
\end{subfigure}
\caption{A figure}\bigskip
\begin{subfigure}[b]{.5\linewidth}\centering
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}[ylabel = {$y(x)$}]
      \addplot {x^4};
    \end{axis}
  \end{tikzpicture}
\end{subfigure}
\begin{subfigure}[b]{.5\linewidth}\centering
\begin{tikzpicture}[trim axis left,scale=.8]
    \begin{axis}
      \addplot {x^5};
    \end{axis}
  \end{tikzpicture}
\end{subfigure}
\caption{A figure}
\end{figure}
\end{document}

Über sauber und unsauber kann man eigentlich nur mittels eines Minimalbeispiels urteilen, alles andere ist spekulativ und in durch die Glaskugel.
 
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
Carmageddon
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.12.2009
Mitteilungen: 589
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.6, vom Themenstarter, eingetragen 2018-06-28

\(\begingroup\)
2018-06-28 15:10 - markusv in Beitrag No. 5 schreibt:
Über sauber und unsauber kann man eigentlich nur mittels eines Minimalbeispiels urteilen, alles andere ist spekulativ und in durch die Glaskugel.
 

Ja stimmt, den Code hätte ich angeben sollen (ich habe ihn oben eingefügt). Ich nehme jetzt einfach mal eine andere Seite aus meiner Arbeit als ich oben angegeben habe. Einfach aus dem Grund weil ich die ganzen Plots nicht hochladen möchte.

Hier ist ein Minimalbeispiel. Man sieht dass zwar die Bilder in den linken Spalten passen, die auf der rechten Seite hingegen nicht (das mittlere Bild ist zu weit links)

LaTeX
\documentclass[]{article}
\usepackage{geometry}
\usepackage{subcaption}
 \usepackage{pgfplots}
\pgfplotsset{compat=newest}
 
\usepackage{mwe}
 
\begin{document}
\begin{figure}
	\begin{subfigure}[b]{.5\linewidth}\centering
	\begin{tikzpicture}[trim axis left]
	\begin{axis}[
	xmin=-1.0,
	xmax=1.0,
	ymin=-1,
	ymax=1, 
	width=6.5cm,
	height=5.3cm,
	samples=500,
	grid=major,
	legend entries={control $u^\dagger$},
	legend pos=north west,]
 
	\addplot[blue, thick]{pi*pi/10*sin(deg(pi*x))}; 
 
 
	\end{axis}
	\end{tikzpicture}
	\end{subfigure}
	\begin{subfigure}[b]{.5\linewidth}\centering
		\begin{tikzpicture}[trim axis left]
		\begin{axis}[
		xmin=-1.0,
		xmax=1.0,
		ymin=-1,
		ymax=1, 
		width=6.5cm,
		height=5.3cm,
		samples=500,
		grid=major,
		legend entries={state $y^\dagger$},
		legend pos=north west,]
 
		\addplot[blue,  thick]{1/10*sin(deg(pi*x))};
 
		\end{axis}
		\end{tikzpicture}
	\end{subfigure}
	\caption{A figure}\bigskip
	%
	%
	\begin{subfigure}[b]{.5\linewidth}\centering
		\begin{tikzpicture}[trim axis left]
		\begin{axis}[
		xmin=-1.0,
		xmax=1.0,
		ymin=-0.15,
		ymax=0.3, 
		samples=500,
		grid=major,
		width=6.5cm,
		height=5.3cm,
		legend entries={$u^\dagger$,$S^\ast w$},
		legend pos=north west,]
 
 
		\addplot[blue, thick, domain=-1:-0.5]{0}; 
		\addplot[blue, thick, dashed, domain=-1:1]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
		\addplot[blue, thick, domain=0.5:1]{0}; 
		\addplot[blue, thick, domain=-0.5:0.5]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
		\addplot[blue, thick, dashed, domain=-1:1]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
 
		\end{axis}
		\end{tikzpicture}
 
	\end{subfigure}%
	\begin{subfigure}[b]{.5\linewidth}\centering
		\begin{tikzpicture}[trim axis left]
		\begin{axis}[
		xmin=-1.0,
		xmax=1.0,
		ymin=0,
		ymax=0.07, 
		samples=500,
		grid=major,
		width=6.5cm,
		height=5.3cm,
		legend entries={$y^\dagger$},
		legend pos=north west,]
 
		\addplot[blue, thick, domain=-1:-0.5]{  19/240*(x+1) }; 
		\addplot[blue, thick, domain=-0.5:0.5]{  19/240*(x+1) - 11/768 - 19*x/240 - x*x/8 + 5*x*x*x*x/48 - x*x*x*x*x*x/30 }; 
		\addplot[blue, thick, domain=0.5:1]{  19/240*(x+1) - 19/240 - 19/120*(x-0.5) }; 
 
		\end{axis}
		\end{tikzpicture}
 
	\end{subfigure}
	\caption{A figure}\bigskip
	%
	%
 
 
 
	\caption{A figure}
\end{figure}
 
\end{document}



Ich vermute das liegt am center. Hast du eine Idee wie man das lösen könnte?

Vielen Dank für deine Hilfe







-----------------
Zitat: "Es gibt einen Beweis aus der Physik: Er ist kurz, er ist elegant... und falsch"
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15384
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.7, eingetragen 2018-06-28

\(\begingroup\)
2018-06-28 11:34 - Carmageddon in Beitrag No. 4 schreibt:
1. Wie ich bereits geschrieben habe, gefällt mir das Design von subcaption einfach nicht - Ich will keine Bilder von a) - d) durchnummerieren.

2. Damit dürfte auch groupplot aus dem Rennen sein.

2. Den Code betrachtend stellst Du fest, dass die aufwendige / trickreiche Beschriftung mit Subcaptions nichts mit dem groupplot zu tun hat.

1. Dann lässt Du eben diesen schwierigsten Teil weg bzw. passt ihn an.


Ich weiß zwar nicht, was jetzt noch das Problem ist; mit groupplot ginge es etwa so:


latex
\documentclass[12pt]{article}
\usepackage{pgfplots}
	\usepgfplotslibrary{groupplots}
 
\usepackage{caption,subcaption}  
	\renewcommand\thesubfigure{(\alph{subfigure})}
 
\begin{document}
 
\begin{figure}[!h]
\centering
\begin{tikzpicture}
\begin{groupplot}[
% Eigenschaften des Groupplots
group style={
group name=my plots,
group size= 2 by 2,
horizontal sep =1.5cm,
vertical sep =2.5cm},
%
% Hier gemeinsame Eigenschaften der plots!
% .....
% .....
xmin=-1.0,
xmax=1.0,
ymin=-1,
ymax=1, 
width=6.5cm,
height=5.3cm,
samples=500,
grid=major,
legend entries={state $y^\dagger$},
legend pos=north west,
%width=2in
]
 
\nextgroupplot[
% Hier individuelle Eigenschaften des plots!
% .....
% .....
]
\addplot[blue, thick]{pi*pi/10*sin(deg(pi*x))}; 
 
\nextgroupplot[]
\addplot[blue,  thick]{1/10*sin(deg(pi*x))};
 
\nextgroupplot[]
\addplot[blue, thick, domain=-1:-0.5]{0}; 
		\addplot[blue, thick, dashed, domain=-1:1]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
		\addplot[blue, thick, domain=0.5:1]{0}; 
		\addplot[blue, thick, domain=-0.5:0.5]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
		\addplot[blue, thick, dashed, domain=-1:1]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
 
\nextgroupplot[
		xmin=-1.0,
		xmax=1.0,
		ymin=0,
		ymax=0.07, 
		height=5.3cm,
		legend entries={$y^\dagger$},
		legend pos=north west,
]
\addplot[blue, thick, domain=-1:-0.5]{  19/240*(x+1) }; 
		\addplot[blue, thick, domain=-0.5:0.5]{  19/240*(x+1) - 11/768 - 19*x/240 - x*x/8 + 5*x*x*x*x/48 - x*x*x*x*x*x/30 }; 
		\addplot[blue, thick, domain=0.5:1]{  19/240*(x+1) - 19/240 - 19/120*(x-0.5) }; 
\end{groupplot}
 
% Bildunterschriften
\tikzset{Caption/.style={
text width=2in,yshift=-6mm, align=center,anchor=north
}}
\path[] (my plots c1r1.south) -- (my plots c2r1.south) node[midway, Caption]{\caption{A figure}};
 \path[] (my plots c1r2.south) -- (my plots c2r2.south) node[midway, Caption]{\caption{A figure}};
 
\end{tikzpicture}
\end{figure}
 
\end{document}
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
Carmageddon
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.12.2009
Mitteilungen: 589
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.8, vom Themenstarter, eingetragen 2018-06-29


2018-06-28 16:30 - cis in Beitrag No. 7 schreibt:

2. Den Code betrachtend stellst Du fest, dass die aufwendige / trickreiche Beschriftung mit Subcaptions nichts mit dem groupplot zu tun hat.

1. Dann lässt Du eben diesen schwierigsten Teil weg bzw. passt ihn an.

Ich weiß zwar nicht, was jetzt noch das Problem ist;


Hallo cis,

das weiß ich ehrlich gesagt auch nicht mehr. Ich war der Überzeugung dass man dies nicht mit groupplot oder ähnlichen hinbekommt.

Vielen Dank für deine (eure) Unterstützung - ich habe den groupplot-Ansatz von cis für meine Zwecke angepasst.


-----------------
Zitat: "Es gibt einen Beweis aus der Physik: Er ist kurz, er ist elegant... und falsch"



  Profil  Quote  Link auf diesen Beitrag Link
Carmageddon
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.12.2009
Mitteilungen: 589
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.9, vom Themenstarter, eingetragen 2018-07-19


Ich muss den Thread leider noch mal zum leben erwecken.

Mir wurde angekreidet dass die Captions nicht exakt linksbündig stehen. Ich habe folgende Modifikation an den Code oben vorgenommen:
Latex
% Bildunterschriften
\tikzset{Caption/.style={
text width=\textwidth,yshift=-6mm, align=center,anchor=north
}}
\path[] (my plots c1r1.south) -- (my plots c2r1.south) node[midway, Caption]{\caption{A figure}};
 \path[] (my plots c1r2.south) -- (my plots c2r2.south) node[midway, Caption]{\caption{A figure}};

Ich habe schon mit allen möglichen Werten rumgespielt, aber ein kleiner Abstand bleibt immer. Wie bekomme ich es ordentlich linksbündig?


-----------------
Zitat: "Es gibt einen Beweis aus der Physik: Er ist kurz, er ist elegant... und falsch"



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15384
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.10, eingetragen 2018-07-19


Bearbeitete mal ein Bild mit Paint, am besten das Bild #7, so wie es am Schluss aussehen soll.



  Profil  Quote  Link auf diesen Beitrag Link
Carmageddon
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.12.2009
Mitteilungen: 589
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.11, vom Themenstarter, eingetragen 2018-07-19


Hallo,

2018-07-19 19:14 - cis in Beitrag No. 10 schreibt:
Bearbeitete mal ein Bild mit Paint, am besten das Bild #7, so wie es am Schluss aussehen soll.





Links: So ist es im Moment.
Rechts: So sollte es aussehen.

Ich weiß nicht ob ich morgen ein Minimalbeispiel zusammenbasteln kann, da das ganze auf einer angepassten Book-Klasse basiert.


Zur Not gehe ich auf meine Lösung mit den Minipages zurück - dort passt der Abstand nämlich - auch wenn ich es mit Groupplot deutlich eleganter finde.

Viele Grüße


-----------------
Zitat: "Es gibt einen Beweis aus der Physik: Er ist kurz, er ist elegant... und falsch"



  Profil  Quote  Link auf diesen Beitrag Link
Monom
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 29.05.2015
Mitteilungen: 75
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.12, eingetragen 2018-07-20

\(\begingroup\)
Hallo Carmageddon,

versuch es mal so (mindestens 2x übersetzen):
LaTeX
\documentclass[12pt]{article}
\usepackage{pgfplots}
	\usepgfplotslibrary{groupplots}
 
\usepackage{caption,subcaption}  
	\renewcommand\thesubfigure{(\alph{subfigure})}
\captionsetup{justification=raggedright,singlelinecheck=false}
 
\usepackage{tikzpagenodes}
 
\begin{document}
\begin{figure}[!h]
\centering
\begin{tikzpicture}[remember picture]
 
\begin{groupplot}[
% Eigenschaften des Groupplots
group style={
group name=my plots,
group size= 2 by 2,
horizontal sep =1.5cm,
vertical sep =2.5cm},
%
% Hier gemeinsame Eigenschaften der plots!
% .....
% .....
xmin=-1.0,
xmax=1.0,
ymin=-1,
ymax=1, 
width=6.5cm,
height=5.3cm,
samples=500,
grid=major,
legend entries={state $y^\dagger$},
legend pos=north west,
%width=2in
]
 
\nextgroupplot[
% Hier individuelle Eigenschaften des plots!
% .....
% .....
]
\addplot[blue, thick]{pi*pi/10*sin(deg(pi*x))}; 
 
\nextgroupplot[]
\addplot[blue,  thick]{1/10*sin(deg(pi*x))};
 
\nextgroupplot[]
\addplot[blue, thick, domain=-1:-0.5]{0}; 
		\addplot[blue, thick, dashed, domain=-1:1]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
		\addplot[blue, thick, domain=0.5:1]{0}; 
		\addplot[blue, thick, domain=-0.5:0.5]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
		\addplot[blue, thick, dashed, domain=-1:1]{ (x+1)*(x+0.5)*(x-0.5)*(x-1) };
 
\nextgroupplot[
		xmin=-1.0,
		xmax=1.0,
		ymin=0,
		ymax=0.07, 
		height=5.3cm,
		legend entries={$y^\dagger$},
		legend pos=north west,
]
\addplot[blue, thick, domain=-1:-0.5]{  19/240*(x+1) }; 
		\addplot[blue, thick, domain=-0.5:0.5]{  19/240*(x+1) - 11/768 - 19*x/240 - x*x/8 + 5*x*x*x*x/48 - x*x*x*x*x*x/30 }; 
		\addplot[blue, thick, domain=0.5:1]{  19/240*(x+1) - 19/240 - 19/120*(x-0.5) }; 
\end{groupplot}
 
\end{tikzpicture}
 
\begin{tikzpicture}[remember picture,overlay]
% Bildunterschriften
\tikzset{Caption/.style={
text width=2in,yshift=-6mm, align=left,anchor=north west,inner xsep=0pt
}}
\node[Caption] at (current page text area.west |- my plots c1r1.south) {\caption{A figure}};
\node[Caption] at (current page text area.west |- my plots c1r2.south) {\caption{Another figure}};
\end{tikzpicture}
\end{figure}
 
\end{document}

Die \caption{} ist normalerweise zentriert. Das wird in der Präambel ausgeschaltet:
LaTeX
\captionsetup{justification=raggedright,singlelinecheck=false}

Das Paket tikzpagenodes stellt den Node current page text area bereit.

In den Caption-Nodes selbst müssen wir den Text links ausrichten und etwaige Innenabstände entfernen (inner xsep). Außerdem verankern wir den Node noch links oben statt mittig oben.
LaTeX
\tikzset{Caption/.style={
text width=2in,yshift=-6mm, align=left,anchor=north west,inner xsep=0pt
}}

Schließlich holt sich
LaTeX
(current page text area.west |- my plots c1r2.south)
den X-Wert der Koordinate von current page text area.west und den Y-Wert von my plots c1r2.south.

Viele Grüße
Monom
\(\endgroup\)


  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15384
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.13, eingetragen 2018-07-20


2018-07-20 00:59 - Monom in Beitrag No. 12 schreibt:
LaTeX
\node[Caption] at (current page text area.west |- my plots c1r2.south)


Gut ausgeraben.



  Profil  Quote  Link auf diesen Beitrag Link
Carmageddon
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 22.12.2009
Mitteilungen: 589
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.14, vom Themenstarter, eingetragen 2018-07-20


@Monom: Vielen Dank! Es läuft nun fast perfekt.

Leider gibt es ein Problem: Ich habe recht viele (und große) Tikz-Bilder in dem Dokument. D.h. ich kann und möchte nicht auf die externalize-Option verzichten.

Dies bedeutet ich kann tikzpagenodes so nicht benutzen, da dies (offenbar laut Doku) zwingend auf die "Remember"-Option angewiesen ist.

Google spuckt ein paar Treffer aus, aber selbst Tricks wie
Latex
\tikzset{external/force remake}
funktionieren nicht. Hat noch jemand eine Idee?  confused




-----------------
Zitat: "Es gibt einen Beweis aus der Physik: Er ist kurz, er ist elegant... und falsch"



  Profil  Quote  Link auf diesen Beitrag Link
cis
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 03.08.2002
Mitteilungen: 15384
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.15, eingetragen 2018-07-21


Du musst schauen, wie Du das Problem reproduzierbar machst.
Ein Bild mit bestimmten Maßen kann man z.B. mit \rule{7cm}{3cm} setzen.



  Profil  Quote  Link auf diesen Beitrag Link
Carmageddon hat die Antworten auf ihre/seine Frage gesehen.
Carmageddon hatte hier bereits selbst das Ok-Häkchen gesetzt.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2018 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]