更改图表上图例的位置

更改图表上图例的位置

我想在我的文档中绘制激活函数,用来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}

在此处输入图片描述

顺便说一句,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}

在此处输入图片描述

相关内容