Подпись к рисунку слишком низкая (при использовании изображений в формате LaTeX)

Подпись к рисунку слишком низкая (при использовании изображений в формате LaTeX)

Я загружаю изображение, которое я создал с помощьюgnuplotв моем документе с использованием;

\begin{figure}[tbp]
\begin{center}
\input{plot.tex}
\caption{Graph caption}
\label{fig4}
\end{center}
\end{figure}

Проблема в том, что это выглядит так;

http://postimg.org/image/j4i4oylx9/

Подпись к рисунку слишком низкая. Не могу понять, проблема ли это в LaTeX или в gnuplot. Я пытался найти способы уменьшить поля в gnuplot, но безуспешно.

Как уменьшить зазор между изображением и подписью?

Если кому-то нужно, вот мои наработки по gnuplot;

 set terminal latex
 set out 'plot.tex'
 set termoption dash

 set xrange [0:20]
 set yrange [-1:1]

 unset colorbox


 plot besj1(x)  ls 1 title '$J_1(x)$',\
 besy1(x)  ls 11 title '$Y_1(x)$',  \

set label 5 '$J_1(x)$' at 2, 0.7
set label 6 '$Y_1(x)$' at 4.5, 0.45
set size 1, 0.75

unset key
set out

решение1

Похоже, что latexтерминал gnuplot вводит некоторое пустое пространство вокруг графика. Вы можете увидеть это с помощью

\documentclass{article}
\begin{document}
\begin{figure}
\centering
\fbox{\input{plot.tex}}
\caption{Graph caption}
\end{figure}
\end{document}

который производит

введите описание изображения здесь

Я не знаю, как подавить это поле в gnuplot (давно им не пользовался ;-)), но вы можете настроить его из plot.tex.

Этот файл начинается с

% GNUPLOT: LaTeX picture
\setlength{\unitlength}{0.240900pt}
\ifx\plotpoint\undefined\newsavebox{\plotpoint}\fi
\sbox{\plotpoint}{\rule[-0.200pt]{0.400pt}{0.400pt}}%
\begin{picture}(1500,900)(0,0)
\sbox{\plotpoint}{\rule[-0.200pt]{0.400pt}{0.400pt}}%

(1500,900)верхний правый угол фигуры и (0,0)ее нижний левый угол. Измените (0,0)на (0,40), сохраните plot.tex, скомпилируйте снова и получите:

введите описание изображения здесь

Если вам приходится делать много подобных расчетов, я бы посоветовал выбрать другой терминал (eps, pdf, tikz) или использовать pgfplotsего, чтобы вызвать gnuplot для вычисления функций Бесселя.

решение2

Альтернативой является построение графика с помощью pgfplotsи addplotвозможности gunplot. Затем используйте captionдля регулировки зазора между рисунком и подписью.

введите описание изображения здесь

Код

\documentclass{article}
\usepackage[margin=0.5cm,papersize={12cm,10cm}]{geometry}
\usepackage{pgfplots}
\usepackage{tikz,pgfplotstable}
\usepackage[font=small,skip=0pt]{caption}
\pgfplotsset{compat=1.8}

\begin{document}

\begin{figure}[htbp]
\centering
%\input{plot.tex}
\begin{tikzpicture}
\begin{axis}[
width=10cm,
height=5cm,ymin=-1,ymax=1,
xmin=0,xmax=20,
]
\addplot[color=yellow,
solid, line width=1.0pt,
domain=0:20, samples=400]
gnuplot {besj1(x)};
\node at (axis cs: 6,0.5){$Y_1(x)$};
\addplot[color=blue,
solid, line width=1.0pt, restrict y to domain=-1:1,
domain=0:20,samples=400]
gnuplot {besy1(x)};
\node at (axis cs: 2,0.7){$J_1(x)$};
\end{axis}
\end{tikzpicture}
\caption{Graph caption}
\label{fig4}
\end{figure}

\end{document}

Связанный контент