如何使用 GNU Plot 在 TexShop 中绘制图表

如何使用 GNU Plot 在 TexShop 中绘制图表

希望有人能帮忙...我对 TeXShop 有非常基本的了解,但我需要在上面绘制一些函数,比如说y=x。我了解到这可以通过安装 GNU Plot 并在 TeXShop 中编写来完成

\begin{tikzpicture}[domain=0:4]
    \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
    \draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
    \draw[color=black] plot[id=x] function{x} 
        node[right] {$f(x) =x$};
\end{tikzpicture}

所以我下载了 GNU Plot 并将其从磁盘映像拖到应用程序中。我不知道如何使用它,但它就在那里。然而,当我在 TeXShop 中运行上述程序时,只会弹出轴和标签,但没有功能!

我现在已经阅读了很多网站,但是它们对我来说似乎都太复杂了——有人可以帮忙吗?

答案1

这是我在 Mac 上进行的操作gnuplot。(您需要使用终端来完成此操作。)

Sourceforge 上的 GNU Plot并下载源代码。它应该解压到gnuplot-4.6.0下载文件夹中的一个文件夹中。

打开一个终端窗口并发出以下命令:(每个命令后按回车键;最后三个命令将产生相当多的终端输出,您需要等待它们完成后才能发出下一个命令。)

cd ~/Downloads/gnuplot-4.6.0
./configure
make
sudo make install

这将在您的机器上正确安装 GNUPlot。

现在在 TeXShop 中,你可以制作一个简单的文档:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[domain=0:4] 
    \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; 
    \draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$}; 
    \draw[color=black] plot[id=x] function{x} node[right] {$f(x) =x$};
\end{tikzpicture}
\begin{tikzpicture}[domain=0:4] 
    \draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
    \draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$}; 
    \draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
    \draw[color=red] plot[id=x] function{x} node[right] {$f(x) =x$};
    \draw[color=blue] plot[id=sin] function{sin(x)} node[right] {$f(x) = \sin x$}; 
    \draw[color=orange] 
        plot[id=exp] function{0.05*exp(x)} node[right] {$f(x) = \frac{1}{20} \mathrm e^x$};
\end{tikzpicture}
\end{document}

使用 TeXShop 运行此程序。您应该获得以下输出:

代码输出

答案2

艾伦的回答与我的做法基本相同:我想分享一些额外的细节。

我花了一段时间才解决这个问题。我在我的 Linux 机器上可以latex交谈gnuplot而不用做任何事情,但在 Mac OS X 上却遇到了麻烦。因此,为了记录(很可能是我未来的自己),我想总结一下我从无数次搜索中收集的各种信息。

  1. 从以下位置下载 gnuplot 源代码http://sourceforge.net/projects/gnuplot/files/gnuplot/

  2. 在临时目录中解压

  3. 进入目录

  4. 在终端命令行:

    ./configure --with-readline=builtin 
    

    4b. 如果出现以下错误:

    configure: error: in `/opt/gnuplot-4.6.4':
    configure: error: no acceptable C compiler found in $PATH
    

    从以下位置获取 command_line_tools_os_x_mountain_lion_for_xcode__october_2013.dmg:

    https://developer.apple.com/downloads/download.action?path=Developer_Tools/command_line_tools_os_x_mountain_lion_for_xcode__october_2013/command_line_tools_os_x_mountain_lion_for_xcode__october_2013.dmg

    这个需要有appleid才能下载。设置appleid非常麻烦(我通过搜索pastebin找到了一个可以直接下载的版本)。

    command line tools小得多XCode,应该足以安装和运行gnuplot

    4b 之后返回 4. 并重试。

    4c. 有时候你可能需要XQuartzXQuartz是新的X11,一个可以在其中运行和绘图的窗口模拟器gnuplot。从项目下载XQuartzhttp://xquartz.macosforge.orgXQuartz。因为较旧的应用程序仍然按名称查找。通过运行以下命令建立从到 的X11链接:XQuartzX11

    sudo ln -sf /Applications/Utilities/XQuartz.app/ /Applications/Utilities/X11.app
    

    gnuplot自动运行XQuartz

    echo "export GNUTERM='x11'" >> .bash_profile
    

    4.完成后,进入5.

  5. 命令行:

    make 
    
  6. 命令行:

    sudo make install 
    
  7. 将 gnuplot 添加到 PATH:

    sudo nano /etc/paths
    

    将以下行添加到路径并保存:/usr/local/libexec/gnuplot

  8. 测试

    gnuplot
    plot sin(x) with lines
    
  9. 让 LaTeX 与 gnuplot 对话

    texmf-local在您的文件夹中创建一个名为的配置文件texmf.cnf,内容如下:

    shell_escape_commands = \
    bibtex,bibtex8,\
    kpsewhich,\
    makeindex,\
    mpost,\
    repstopdf,\
    gnuplot,\
    

    该文件必须以空行结尾。将此文件保存或复制到以下目录中:

    /usr/local/texlive/texmf-local/web2c
    

    然后更新 TeX 数据库。现在您应该能够运行以下代码,例如:

    使用 TikZ 重新创建扭索纹

  10. 要拨打电话gnuplot,您需要允许shell-escape。使用以下方式测试latexmk

    latexmk --synctex=1 -interaction=nonstopmode --shell-escape
    

    或者latex -> dvips -> ps2pdf

    latex -synctex=1 -interaction=nonstopmode --shell-escape %.tex: dvips -o %.ps %.dvi: ps2pdf %.ps
    

    这里有几个提示和解释:

    使用 Shell-Escape 设置 LaTeX -> DVIPS -> PS2PDF(在 TeXStudio 中)

答案3

使用 OSX Mountain Lion 您必须先安装 aquaterm 和 X11 或 Xquartz。

相关内容