Cambiar la posición de la leyenda en el gráfico.

Cambiar la posición de la leyenda en el gráfico.

Me gustaría trazar funciones de activación en mi documento, usándolas subfigurepara controlar la apariencia (dos columnas en una página).

Agregué una leyenda a la trama, pero esta leyenda cubre parte de la trama. Me gustaría cambiar su posición hacia la parte superior izquierda.

Este es un MWE de ello.

\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}

producción: ingrese la descripción de la imagen aquí

Respuesta1

El estilo de la leyenda se puede controlar con la legend styletecla. Por ejemplo, usando

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

lo pone en la esquina superior izquierda.

\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}

ingrese la descripción de la imagen aquí

Por cierto, subfigurese dice que está en desuso, es posible que desee utilizar el subcaptionpaquete en su lugar.

\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}

ingrese la descripción de la imagen aquí

información relacionada