Ändern der Position der Legende im Diagramm

Ändern der Position der Legende im Diagramm

Ich möchte Aktivierungsfunktionen in mein Dokument einzeichnen und damit subfiguredie Darstellung (zwei Spalten, eine Seite) steuern.

Ich habe der Handlung eine Legende hinzugefügt, diese verdeckt jedoch einen Teil der Handlung. Ich möchte ihre Position nach oben links ändern.

Dies ist ein MWE davon.

\documentclass[11pt]{article}

\usepackage{subfigure}
\usepackage{pgfplots}
\usepackage[top=3cm,left=3cm,right=3cm,bottom=3cm]{geometry}
% Scriptsize axis style.
\pgfplotsset{every axis/.append style={tick label style={/pgf/number format/fixed},font=\scriptsize,ylabel near ticks,xlabel near ticks,grid=major}}

\pgfplotsset{compat=1.16}

\begin{document}
\begin{figure}[t!]
    \centering
    \subfigure[Logistic sigmoid activation function.]{
            \begin{tikzpicture}[declare function={sigma(\x)=1/(1+exp(-\x));
            sigmap(\x)=sigma(\x)*(1-sigma(\x));}]
            \begin{axis}[width=5.5cm,height=4cm,ylabel=$\sigma(z)$,xlabel=$z$,ymin=0,ymax=1.25,xmin=-5,xmax=5]
                \addplot[blue,smooth] {1/(1+exp(-x))};
                \addplot[red,dotted,mark=none]   (x,{sigmap(x)});
                \legend{$\sigma(x)$,$\sigma'(x)$}
                %\addlegendentry{Logistic sigmoid}
            \end{axis}
        \end{tikzpicture}
    }
    \subfigure[Hyperbolic tangent activation function.]{
        \begin{tikzpicture}
            \begin{axis}[width=5.5cm,height=4cm,ylabel=$\tanh(z)$,xlabel=$z$,ymin=-1.25,ymax=1.25,xmin=-5,xmax=5]
                \addplot[blue,smooth] {tanh(x)};
                %\addlegendentry{Hyperbolic tangent}
            \end{axis}
        \end{tikzpicture}
    }
        \caption[Sigmoidal activation functions.]{Describe all functions here.}
        \label{fig:sigmoid-tanh}
\end{figure}
\end{document}

Ausgabe: Bildbeschreibung hier eingeben

Antwort1

Der Stil der Legende kann mit der legend styleTaste gesteuert werden. Beispielsweise mit

legend style={at={(0.05,0.95)},anchor=north west}

platziert es in der oberen linken Ecke.

\documentclass[11pt]{article}

\usepackage{subfigure}
\usepackage{pgfplots}
\usepackage[top=3cm,left=3cm,right=3cm,bottom=3cm]{geometry}
% Scriptsize axis style.
\pgfplotsset{every axis/.append style={tick label style={/pgf/number format/fixed},font=\scriptsize,ylabel near ticks,xlabel near ticks,grid=major}}

\pgfplotsset{compat=1.16}

\begin{document}
\begin{figure}[t!]
    \centering
    \subfigure[Logistic sigmoid activation function.]{
            \begin{tikzpicture}[declare function={sigma(\x)=1/(1+exp(-\x));
            sigmap(\x)=sigma(\x)*(1-sigma(\x));}]
            \begin{axis}[width=5.5cm,height=4cm,ylabel=$\sigma(z)$,xlabel=$z$,ymin=0,ymax=1.25,
            xmin=-5,xmax=5,legend style={at={(0.05,0.95)},anchor=north west}]
                \addplot[blue,smooth] {1/(1+exp(-x))};
                \addplot[red,dotted,mark=none]   (x,{sigmap(x)});
                \legend{$\sigma(x)$,$\sigma'(x)$}
                %\addlegendentry{Logistic sigmoid}
            \end{axis}
        \end{tikzpicture}
    }
    \subfigure[Hyperbolic tangent activation function.]{
        \begin{tikzpicture}
            \begin{axis}[width=5.5cm,height=4cm,ylabel=$\tanh(z)$,xlabel=$z$,
            ymin=-1.25,ymax=1.25,xmin=-5,xmax=5]
                \addplot[blue,smooth] {tanh(x)};
                %\addlegendentry{Hyperbolic tangent}
            \end{axis}
        \end{tikzpicture}
    }
        \caption[Sigmoidal activation functions.]{Describe all functions here.}
        \label{fig:sigmoid-tanh}
\end{figure}
\end{document}

Bildbeschreibung hier eingeben

Übrigens subfiguregilt es als veraltet. Vielleicht möchten Sie subcaptionstattdessen das Paket verwenden.

\documentclass[11pt]{article}

\usepackage{subcaption}
\usepackage{pgfplots}
\usepackage[top=3cm,left=3cm,right=3cm,bottom=3cm]{geometry}
% Scriptsize axis style.
\pgfplotsset{every axis/.append style={tick label style={/pgf/number format/fixed},font=\scriptsize,ylabel near ticks,xlabel near ticks,grid=major}}

\pgfplotsset{compat=1.16}

\begin{document}
\begin{figure}[t!]
    \centering
    \begin{subfigure}[b]{0.45\textwidth}
       \centering
            \begin{tikzpicture}[declare function={sigma(\x)=1/(1+exp(-\x));
            sigmap(\x)=sigma(\x)*(1-sigma(\x));}]
            \begin{axis}[width=5.5cm,height=4cm,ylabel=$\sigma(z)$,xlabel=$z$,ymin=0,ymax=1.25,
            xmin=-5,xmax=5,legend style={at={(0.05,0.95)},anchor=north west}]
                \addplot[blue,smooth] {1/(1+exp(-x))};
                \addplot[red,dotted,mark=none]   (x,{sigmap(x)});
                \legend{$\sigma(x)$,$\sigma'(x)$}
                %\addlegendentry{Logistic sigmoid}
            \end{axis}
        \end{tikzpicture}
      \caption{Logistic sigmoid activation function.}   
    \end{subfigure}
    \quad
    \begin{subfigure}[b]{0.45\textwidth}
       \centering
         \begin{tikzpicture}
             \begin{axis}[width=5.5cm,height=4cm,ylabel=$\tanh(z)$,xlabel=$z$,
             ymin=-1.25,ymax=1.25,xmin=-5,xmax=5]
                 \addplot[blue,smooth] {tanh(x)};
                 %\addlegendentry{Hyperbolic tangent}
             \end{axis}
         \end{tikzpicture}
       \caption{Hyperbolic tangent activation function.}
    \end{subfigure}
        \caption[Sigmoidal activation functions.]{Describe all functions here.}
        \label{fig:sigmoid-tanh}
\end{figure}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen