关于“Tikz + Gnuplot”设置终端表的问题

关于“Tikz + Gnuplot”设置终端表的问题

当我使用 Tikz 绘制函数时。我按照说明使用 gnuplot 进行绘制。半年前我这样做了。但现在当我重新编译时,gnuplot 生成的 .gnuplot 文件的第一行出现问题:

set terminal table

有人知道这个问题吗?我的 gnuplot 版本是 4.4 patchlevel 2。我需要使用旧版本吗?

非常感谢!

编辑:我的文件在这里:

一个最小的例子

\documentclass{minimal}

\usepackage{graphicx,url,psfrag}
\usepackage[noxcolor,usenames]{pstricks}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing,calc,decorations.fractals,through}
\usepgflibrary{plotmarks}
\usepackage{pgfmath}
\usepackage{amsmath,amssymb,amsthm,amscd}

\pagestyle{empty}

\begin{document}

\def\tI{1}
\def\xI{3}
\def\tII{2}
\def\xII{1}

\begin{tikzpicture}[scale=0.7,domain=\tII:5]

\draw[help lines,step=1] (0,-3) grid (5,5.5);
\draw [->] (-0.5,0) -- (0,0) coordinate [label=-135:$O$] (O) -- (6,0)
coordinate [label=right:$t$] (T);
\draw [->] (0,-3.2)  -- (0,6) coordinate [label=above:$x$] (X);

\draw [dashed,thick] (0,\xI) coordinate [label=left:$x_1$] -- (\tI,\xI) --
(\tI,0) coordinate [label=below:$t_1$] ;
\draw [dashed,thick] (0,\xII) coordinate [label=left:$x_2$] -- (\tII,\xII) --
(\tII,0) coordinate [label=below:$t_2$] ;

\foreach \r in {-3,-2,-1,0,1,2,3}
{
\draw plot [id=HeatSample-\r]
function{
((x-\tI)*\xII+(x-\tII)*\xI)/(2*x-\tI-\tII)+sqrt((x-\tI)*(x-\tII)/(2*x-\tI-\tII)
) * \r} node [right] {$\r$};
}

\end{tikzpicture}
\end{document}

即使有基本的例子http://www.texample.net/tikz/examples/tag/gnuplot/,我的系统有问题

set terminal table;

我认为这是我的 gnuplot 的问题

答案1

根据 Thorsten 的回答,一种解决方法是在调用 gnuplot 的 pgf 文件中明确更改此设置。对于我的 texlive 安装,我必须更改的文件是:

/usr/share/texmf/tex/generic/pgf/basiclayer/pgfbaseplot.code.tex

更改此行:

\xdef\pgf@gnuplot@head#1{set terminal table; set output "#1.table"; set format "%.5f"}

更改为:

\xdef\pgf@gnuplot@head#1{set table; set output "#1.table"; set format "%.5f"}

答案2

确保您拥有 2.10 版pgf/tikZ安装以使其与当前版本的 Gnuplot 兼容。在这些版本中(我猜从 4.4.0 开始),Gnuplot 中 »table« 终端的设置已从 更改为set terminal tableset table实际上日志文件中应该有一些相关信息。

答案3

读完帖子后:Mac 上的 TikZ + gnuplot

我换了线

\xdef\pgf@gnuplot@head#1{set terminal table; set output “#1.table”; set format “%.5f”} 

\xdef\pgf@gnuplot@head#1{set table; set output “#1.table”; set format “%.5f”} 

在文件中/usr/share/texmf/tex/generic/pgf/modules/pgfmoduleplot.code.tex

然后它又能正常工作了。

谢谢 Thorsten!

相关内容