Versetzen Sie eine vertikale Teilachse

Oct 07 2020

Ich habe eine Figur aus drei Unterfiguren, eine oben und zwei darunter. Derzeit sind die beiden unteren Figuren basierend auf der Höhe ihrer Beschriftung ausgerichtet. Ich brauche die linke Unterfigur, um näher an der oberen zu sein, wie im folgenden Schema gezeigt. Diese Unterfigur benötigt keine Beschriftung.

Ich habe Dinge mit vspace ausprobiert, aber keinen Erfolg (ich bin noch ein Anfänger). Hier ist ein MWE meines Codes:

\documentclass[french]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{mwe}
\usepackage{subcaption}
\usepackage{tikz}
\usepackage{tikzscale}
\usepackage{babel}

\begin{document}
    
    \begin{figure}
        \centering
        \begin{subfigure}{1\linewidth}
            \includegraphics[width=0.97\linewidth]{example-image-a}
            \caption{Top subfigure caption}
            \vspace{0.5cm}
        \end{subfigure}
        \begin{subfigure}[t]{0.4\linewidth} 
            \includegraphics[width=0.9\linewidth]{example-image-b}
        \end{subfigure}
        \begin{subfigure}[t]{0.5\linewidth}
            \begin{tikzpicture}% table
                \begin{axis}
                    \addplot table[x=x,y=y] {data.dat};
                \end{axis}
            \end{tikzpicture}
            \caption{Table caption}
        \end{subfigure}
    \end{figure}

\end{document}

data.dat enthält

x y
1 1
2 4
3 9
4 16
5 25

Antworten

P.M. Oct 07 2020 at 15:39

Der optionale Parameter trichtet das subfigures in Bezug auf die obere Grundlinie seines Inhalts aus (und die Grundlinie eines Bildes ist sein unterer Rand). Dies ist jedoch nicht das, was Sie möchten. Sie möchten sie in Bezug auf den oberen Rand ausrichten. Hierzu muss der Parameter Tverwendet werden:

\documentclass[french]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[a4paper]{geometry}
\usepackage{pgfplots}
\usepackage{graphicx}
\usepackage{mwe}
\usepackage{subcaption}
\usepackage{tikz}
\usepackage{tikzscale}
\usepackage{babel}

\begin{document}
    
    \begin{figure}
        \centering
        \begin{subfigure}{1\linewidth}
            \includegraphics[width=0.97\linewidth]{example-image-a}
            \caption{Top subfigure caption}
            \vspace{0.5cm}
        \end{subfigure}
        \begin{subfigure}[T]{0.4\linewidth} 
            \includegraphics[width=0.9\linewidth]{example-image-b}
        \end{subfigure}
        \begin{subfigure}[T]{0.5\linewidth}
            \begin{tikzpicture}% table
                \begin{axis}
                    \addplot table[x=x,y=y] {data.dat};
                \end{axis}
            \end{tikzpicture}
            \caption{Table caption}
        \end{subfigure}
    \end{figure}

\end{document}