Gnuplot epslatex 终端不显示轴文本

Gnuplot epslatex 终端不显示轴文本

以下最小示例显示了我如何使用 gnuplot 绘制“epslatex”终端的图表并将其包含在我的文档中。但是,轴文本没有显示。可能出了什么问题?Gnuplot 生成一个 .tex 文件和一个 .eps 文件。我本以为在转换为 PDF 时会同时使用这两个文件。顺便说一下,这是 pdflatex。

==GNUPLOT==
set format "$%g$"
set xlabel "Temperature $T_t$"
set ylabel "Difference $|f(s')-f(s)|$"
set xrange [0.1:20]
set yrange [1:20]
set zrange [0:1]
set terminal epslatex
set output "prob.eps"
splot exp(-y/x) title ""


==latex==
\documentclass[10pt,a4paper]{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\begin{document}
    \includegraphics{prob}
\end{document}

答案1

终端epslatex生成两个文件:一个.tex包含标签的文件和一个.eps包含图形元素的文件。该.tex文件会插入.eps文件本身,因此您只需.tex使用\include或插入文件即可\input

\documentclass[10pt,a4paper]{article}
\usepackage{graphicx}
\usepackage{epstopdf}
\begin{document}
\input{prob}
\end{document}


我建议您尝试一下 PGFplots,而不是尝试弄清楚如何纠正标签位置。它可以在 LaTeX 中创建许多数学函数和数据的图表,如果您需要非常复杂的数学运算,它可以使用 gnuplot 作为后端。与终端相比,PGFplots 的优势epslatex在于调整图表的外观要容易得多。您可以使用以下方式创建图表

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.5.1}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    width=10cm, height=6cm,
    domain=0.1:20, xmin=0,
    y domain=1:20,
    view={20}{50},
    xlabel=Temperature $T_t$,
    ylabel=Difference $|f(s')-f(s)|$,
    ylabel style={anchor=west},
    colormap/cool
]
\addplot3 [surf] {exp(-y/x)};
\end{axis}
\end{tikzpicture}
\end{document}

编译后pdflatex结果为

相关内容