我正在上传我使用格努普特在我的文档上使用;
\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
看起来 gnuplot 的latex
终端在绘图周围引入了一些空白区域。您可以使用
\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}