그래프의 범례 위치 변경

그래프의 범례 위치 변경

subfigure모양을 제어하는 ​​데 사용하여 내 문서에 활성화 함수를 플롯하고 싶습니다 (한 페이지에 두 개의 열).

줄거리에 범례를 추가했는데 이 범례가 줄거리의 일부를 덮고 있습니다. 위치를 왼쪽 상단으로 변경하고 싶습니다.

이것이 MWE입니다.

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

산출: 여기에 이미지 설명을 입력하세요

답변1

범례의 스타일은 키로 제어할 수 있습니다 legend style. 예를 들어,

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

왼쪽 상단에 넣습니다.

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

여기에 이미지 설명을 입력하세요

BTW는 subfigure더 이상 사용되지 않는다고 합니다. 대신 패키지를 사용하는 것이 좋습니다 subcaption.

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

여기에 이미지 설명을 입력하세요

관련 정보