
Я хотел бы построить график функций активации в моем документе, используя 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}