Ich erstelle eine Graphik mit pgfplots, die xtick labels sind um 90° gedreht. Das fuktioniert soweit alles wie erwartet. Wenn ich allerdings einen mit \hyperref erzeugten Link in der Beschriftung stehen habe, dann behält die box von dem klickbaren Link ihre ursprüngliche Ausrichtung bei -- also die wird nicht mit gedreht.

Jetzt habe ich beispielsweise schon hier oder hier ganz ähnliche Problemstellungen gefunden. Als Lösung verwenden die dort immer ein \rotatebox wodurch dann die box vom Link gedreht wird. Das Problem: bei mir wird durch das \rotatebox allerdings auch immer der Text mit gedreht (was aber eigentlich nicht geschehen soll, da ja bereits der xticklabel style die Beschriftung gedreht hat).

Beispiel:

\documentclass[12pt]{scrartcl}
\usepackage{babel}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics}
\usepackage{hyperref}
\pgfplotsset{compat=1.18}

\begin{document}
\section{Test}
Hier ist eine Gleichung:
\begin{equation}
    \label{eq1}
    a=b+c
\end{equation}
Hier ist noch eine Gleichung:
\begin{equation}
    \label{eq2}
    b=c+d
\end{equation}
Und hier ist noch eine Gleichung:
\begin{equation}
    \label{eq3}
    c=d+e
\end{equation}

Deren Nummer soll als klickbarer Link in den gedrehten tick labels bei
einem pgfplot erscheinen.

\begin{figure}[h]
    \centering
    \begin{tikzpicture}
        \begin{axis}[
            width=\textwidth,
            height=10cm,
            boxplot/draw direction=y,
            xtick={1,2,3},
            xticklabel style={
                align=center,
                rotate=90,
            },
            xticklabels={
                {mit Verwendung\\ von \rotatebox{-90}{\hyperref[eq1]{Gleichung (1)}}},
                {mit Verwendung\\ von \hyperref[eq1]{Gleichung (2)}},
                {mit Verwendung\\ von \hyperref[eq1]{Gleichung (3)}},
            }
        ]
            \addplot+[
                boxplot prepared={
                    lower whisker=2,
                    lower quartile=3,
                    median=4,
                    upper quartile=5,
                    upper whisker=6,
                }
            ] coordinates {};

            \addplot+[
                boxplot prepared={
                    lower whisker=3,
                    lower quartile=4,
                    median=5,
                    upper quartile=6,
                    upper whisker=7,
                }
            ] coordinates {};

            \addplot+[
                boxplot prepared={
                    lower whisker=4,
                    lower quartile=5,
                    median=6,
                    upper quartile=7,
                    upper whisker=8,
                }
            ] coordinates {};
        \end{axis}
    \end{tikzpicture}
    \caption{Statt der box vom Link wird der komplette Text mit gedreht}
\end{figure}
\end{document}

Bei dem ersten xticklabel ganz links habe ich mal den Trick mit der \rotatebox ausprobiert, da sieht man das Problem.

gefragt 07 Sep, 08:16

AndreGismo's gravatar image

AndreGismo
3719
Akzeptiert-Rate: 100%

bearbeitet 07 Sep, 08:21


Ich kenne dafür leider keine schöne Lösung, sondern nur eine Notlösung mit manuellem Drehen des kompletten Labels:

\documentclass[12pt]{scrartcl}
\usepackage{babel}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics}
\usepackage{hyperref}
\pgfplotsset{compat=1.18}

\begin{document}
\section{Test}
Hier ist eine Gleichung:
\begin{equation}
    \label{eq1}
    a=b+c
\end{equation}
Hier ist noch eine Gleichung:
\begin{equation}
    \label{eq2}
    b=c+d
\end{equation}
Und hier ist noch eine Gleichung:
\begin{equation}
    \label{eq3}
    c=d+e
\end{equation}

Deren Nummer soll als klickbarer Link in den gedrehten tick labels bei
einem pgfplot erscheinen.

\begin{figure}[h]
    \centering
    \begin{tikzpicture}
        \begin{axis}[
            width=\textwidth,
            height=10cm,
            boxplot/draw direction=y,
            xtick={1,2,3},
            xticklabel style={
                align=center
            },
            xticklabels={
                \rotatebox{90}{\parbox{8em}{\raggedright mit Verwendung\\von \hyperref[eq1]{Gleichung (1)}}},
                \rotatebox{90}{\parbox{8em}{\raggedright mit Verwendung\\von \hyperref[eq1]{Gleichung (2)}}},
                \rotatebox{90}{\parbox{8em}{\raggedright mit Verwendung\\von \hyperref[eq1]{Gleichung (3)}}},
            }
        ]
            \addplot+[
                boxplot prepared={
                    lower whisker=2,
                    lower quartile=3,
                    median=4,
                    upper quartile=5,
                    upper whisker=6,
                }
            ] coordinates {};

            \addplot+[
                boxplot prepared={
                    lower whisker=3,
                    lower quartile=4,
                    median=5,
                    upper quartile=6,
                    upper whisker=7,
                }
            ] coordinates {};

            \addplot+[
                boxplot prepared={
                    lower whisker=4,
                    lower quartile=5,
                    median=6,
                    upper quartile=7,
                    upper whisker=8,
                }
            ] coordinates {};
        \end{axis}
    \end{tikzpicture}
    \caption{Statt der box vom Link wird der komplette Text mit gedreht}
\end{figure}
\end{document}
Permanenter link

beantwortet 07 Sep, 10:27

huibub's gravatar image

huibub
3.0k210
Akzeptiert-Rate: 54%

das ist perfekt für mich, danke!

(07 Sep, 15:39) AndreGismo
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×295
×61
×8
×2

gestellte Frage: 07 Sep, 08:16

Frage wurde gesehen: 204 Mal

zuletzt geändert: 07 Sep, 15:39