无法使用epslatex gnuplot进行绘图

时间:2016-02-22 01:56:59

标签: latex gnuplot pdflatex

我查看了很多有关此主题的帖子,但尚未找到答案。我通常对这些问题很有韧性,但不得不承认在这个问题上失败了。我无法将.dat文件转换为合适的乳胶代码。我的gnuplot输入代码看起来像

plot "file.dat" using 1:6 with lines
set terminal epslatex
set output "output.tex"
set label "$\alpha$"
set out

根据需要生成.tex和.eps文件。我现在使用pdflatex和以下代码编译plot.tex文件:

\documentclass{article}
\usepackage{graphics}
\usepackage{epstopdf}

\begin{document}
\include{output.tex}
\end{document}

当我打开plot.pdf时,那里什么都没有。 pdflatex complilation也没有错误。 .dat肯定有数据,我相信问题在于火药图代码;我无法在epslatex终端内绘制.dat文件,相应的.eps文件为空。如果有人能告诉我如何做到这一点会很棒。我可以很容易地将数据保存为.eps文件,但我真的想要乳胶xlabels等。

干杯

杰克

1 个答案:

答案 0 :(得分:1)

几个问题:

  • 当您发出gnuplot命令plot时,它会生成情节,然而它已经配置好了。您在脚本的最开始处执行此操作,然后才进行任何配置。在开头定义终端类型,标题,范围等,然后将plot命令放在最后。这可能看起来令人困惑,但gnuplot脚本只是:脚本。它执行一行接一行。这允许您在plot命令后更改设置,然后在设置稍有不同的其他地方创建另一个plot(即到另一个输出文件)。

  • 指令set outset output的缩写(......为空)。我不确定为什么在刚刚set output "output.tex"之后你想要将输出设置为空。

  • 您可能需要“α”的标题轴标签,而不是“alpha”的标签。您使用set title设置标题。您还可以使用set xlabelset ylabel设置 x - 和 y -axis标签。 gnuplot具有实际的“标签”,但这具有一定的技术含义(文本放置在特定坐标处)。

  • 也许您打算将数据集标记为“α”而不是标题为“α”的标题。然后将title "$\\alpha$"附加到plot行。除非您指定一个或使用关键字notitle,否则gnuplot会发明一个标题。

  • 如果要将其提供给LaTeX,则必须在gnuplot中的字符串中转义反斜杠(\\而不是\)。使用$\\alpha$代替$\alpha$

总之,尝试这样的事情:

set terminal epslatex
set output "output.tex"
set title "Impressive Results of $\\alpha$"
plot "file.dat" with lines title "$\\alpha$"

另外,我在LaTeX文档中遇到\include{output.tex}问题。您不需要指定文件扩展名。我习惯使用graphicx包,但他自己使用的是\documentclass{article} \usepackage[pdftex]{graphicx} \begin{document} \include{output} \end{document} 包。所以这对我有用:

def endFileName = time + "_${variant.productFlavors[0].name}.apk"

我希望这可以帮助你开始工作。