Octave绘图错误

11

我是Octave的新手,我刚刚尝试了我的第一个图形绘制,使用的是Octave 3.4.0,但是出现了以下错误。非常感谢你们的帮助。gnuplot版本为4.6。

     octave-3.4.0:3> x=1:1:20;
     octave-3.4.0:4> y=sin(x);
     octave-3.4.0:5> plot(x,y)

     gnuplot> set terminal aqua enhanced title "Figure 1" size 560 420  font "*,6"
                  ^
     line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list

我用于Octave的终端窗口是Mac X终端。


请查看我关于这个问题的完整解决方案:https://dev59.com/3WQo5IYBdhLWcg3wUNzY#29907389 - Inanc Gumus
8个回答

18

好的,我找到了解决这个问题的方法。只需运行:

setenv("GNUTERM","X11")

在你绘制任何东西之前,例如:

plot(x,y)

15

您可能需要重新安装带有x11支持的gnuplot:

brew uninstall gnuplot;brew install gnuplot --with-x


(注意:已保留原文中的HTML标签)

5
我在 OS X 10.9.4 上发现这是必要的。 - Kat
警告:gnuplot:--with-x已被弃用;改用--with-x11! - slcott
在10.10.3上也发现这是必要的。 - Shrey

13

还可以将以下行添加到您的~/.octaverc文件中:

setenv GNUTERM x11

- 它在我的 Mac OS Mountain Lion 上可用。


那个目录在哪里? - user2472071

4

完整解决方案:

1- 安装x11:

brew cask install xquartz

或者,从这里安装

2- 重新安装gnuplot:

brew uninstall gnuplot && brew install gnuplot --with-x11

3- 将这些行放入~/.octaverc文件中

setenv("GNUTERM", "x11")
gnuplot_binary("/usr/local/bin/gnuplot")

4- 重新启动您的Mac电脑


2
或者将这行代码放入您的 .profile 文件(或 .zshrc 文件等):
export GNUTERM=x11

这将使除Octave外的所有gunplot调用输出到x11。

1
我添加了:
setenv("GNUTERM", "qt")

将文件复制到位于/usr/local/octave/3.8.0/share/octave/3.8.0/m/startup的octaverc文件中,然后它又可以正常工作了。

我没有使用brew或macports,而是使用预编译的二进制文件。而setenv(“GNUTERM”,“X11”)不起作用。您的解决方案完全有效。 - irudyak

1

只需添加:

setenv ("GNUTERM", "X11")

将以下内容添加到您的octaverc文件中,该文件通常位于/usr/local/share/octave/site/m/startup目录下:


0

就放在这里。当我遇到这个错误时,我发现了这篇文章,并使用“setenv GNUTERM X11”更新了我的octaverc文件。

然后Octave又产生了另一个错误:

    error: popen2: popen2 (child): unable to start process -- No such file or directory
    error: called from:
    error: /usr/local/Cellar/octave/3.8.0/share/octave/3.8.0/m/plot/util/private/__gnuplot_open_stream__.m at line 30, column 40
    error: /usr/local/Cellar/octave/3.8.0/share/octave/3.8.0/m/plot/util/__gnuplot_drawnow__.m at line 72, column 19
    sh: x11: command not found

解决方法是在/usr/local/share/octave/site/m/startup的octaverc文件中添加gnuplot_binary("usr/YO/bin/gnuplot")

现在Octave中的绘图功能已经正常了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接