我通过Homebrew安装了Octave和gnuplot,并下载了AquaTerm.dmg。 当我尝试绘图时,我收到以下消息:
octave:4> plot(x,y)
gnuplot> set terminal aqua enhanced title "Figure 1" font "*,6"
^
`line 0: unknown or ambiguous terminal type; type just 'set terminal' for a list`
在bash终端set terminal
,set Terminal
,set term
,(以及相同的,后面跟“aqua”)等没有任何内容。
我已经尝试从八度音阶再次绘制“AquaTerm”已经打开,但没有。我已经尝试直接从gnuplot绘图但同样的问题..我怎么能这样做“设置终端水族”?
Gnuplot开始消息显示“Terminal type set to 'x11'
”,但不知道如何更改它,之前的命令也不起作用。
由于没有从Homebrew安装AquaTerm,也许octave / gnupot找不到它......但不知道。 有什么猜测?谢谢!
答案 0 :(得分:108)
我必须将setenv("GNUTERM","X11")
添加到OCTAVE_HOME/share/octave/site/m/startup/octaverc
(OCTAVE_HOME通常是/ usr / local)才能使其永久有效。
找到解决方案并详细说明:http://www.mac-forums.com/forums/os-x-apps-games/242997-plots-octave-dont-work.html
答案 1 :(得分:72)
我在OS X 10.9.1上遇到过Octave-cli版本3.8.0的类似问题。观察Octave-gui如何能够绘制图表,并通过octaverc读取答案,我已经通过向/usr/local/octave/3.8添加一行setenv("GNUTERM","qt")
从Octave-cli开始工作。 0.0 /共享/倍频程/站点/米/启动/ octaverc
我没有必要重新安装gnuplot或其他依赖项。
答案 2 :(得分:70)
将终端类型设置为x11可以解决问题,但是如果你想让AquaTerm在这里使用gnuplot:
首先我们需要卸载现有的gnuplot安装,打开终端并运行此命令。
brew uninstall gnuplot
从这里下载AquaTerm:http://sourceforge.net/projects/aquaterm/并像安装任何OSX应用程序一样安装。
从这里开始,有两种方法让gnuplot对aquaterm感到高兴,方法1 更容易,但是对我来说不起作用,因为我的AquaTerm安装没有在/中创建正确的符号链接usr / local / lib,方法2 是一个适合我的方法,我正在分享我为使它工作所采取的步骤。
方法1:安装AquaTerm后只需重新安装gnuplot似乎可以解决这个问题。
brew install gnuplot
转到验证步骤以查看是否一切正常,如果没有,请按照方法2
方法2:此方法更先进,但如果您有耐心,可以保证正常工作。
基本上gnuplot无法找到AquaTerm库文件,这就是为什么在我们安装gnuplot之后aqua不会显示为终端类型选项的原因。我们需要修改gnuplot的自制软件配方以启用aquaterm支持,输入以下内容打开gnuplot的brew配方:
brew edit gnuplot
并添加这些github提交消息中显示的这些行,这将使gnuplot的brew选项包含aquaterm https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477
通过执行以下检查来检查是否存在正确的AquaTerm库符号链接:
ls /usr/local/lib/libaquaterm*
ls /usr/local/include/aquaterm/*
上面的第一行应该返回一些* .dylib文件,上面的第二行应该返回 一些* .h文件,如果它们不存在,则从终端运行这些命令:
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/AquaTerm /usr/local/lib/libaquaterm.1.0.0.dylib
sudo ln -s /Library/Frameworks/AquaTerm.framework/Versions/A/Headers/* /usr/local/include/aquaterm/.
有时这是必要的,因为AquaTerm的安装程序由于权限问题而无法在正确的位置创建符号链接。创建/ usr / local / symlinks后,重新安装gnuplot,如下所示:
brew install gnuplot --with-aquaterm # (formerly --aquaterm in old versions)
验证gnuplot可以使用以下步骤查看aquaterm并快乐绘图!
验证:通过在终端中启动gnuplot正确配置了gnuplot AquaTerm
gnuplot
在gnuplot终端中输入
gnuplot> set term
寻找
行Available terminal types:
aqua Interface to graphics terminal server for Mac OS X
...
如果你看到上面那一行,那么你就完成了,gnuplot配置正确,每个人都很开心。
答案 3 :(得分:47)
我找到了一种生成八度音的情节的方法,虽然不是使用AquaTerm而是使用x11。问题是Octave正在“强迫”gnuplot使用aquaterm进行策划。而不是将aquaterm安装和集成到gnuplot中,而是以八度键入:setenv GNUTERM x11
。这样,使用x11生成绘图,x11已经在gnuplot(set terminal
)的终端列表中。我知道这是一个补丁,但最后我不介意aquaterm或x11,我只想要生成情节
答案 4 :(得分:24)
set terminal
或set term
是gnuplot命令。
您只需从命令行运行gnuplot
即可访问gnuplot shell。
但是,这对我不起作用,setenv("GNUTERM","x11")
或/usr/local/share/octave/site/m/startup/octaverc
中的~/.octaverc
也没有用(两者都做同样的事情)。
所以我在gnuplot shell中运行了set term
,因为在列表中看不到x11
。
我使用自制软件来安装gnuplot,所以我首先将其卸载brew uninstall gnuplot
,然后使用x11
标记与--with-x
一起安装:
brew install gnuplot --with-x
这解决了我的问题。
使用brew info gnuplot
查看gnuplot安装的标志列表。
P.S。 是的,我确实下载了一个X11 dmg并使用软件包安装程序安装了它,gnuplot在支持的终端列表中没有x11。
答案 5 :(得分:10)
你可以试试这个:
>> brew reinstall gnuplot --with-aquaterm
或
>> brew uninstall gnuplot
>> brew install gnuplot --with-aquaterm
答案 6 :(得分:8)
在主目录中创建文件.octaverc
,并将GNUTERM设置为X11
echo "setenv('GNUTERM','X11')" > ~/.octaverc
打开八度音阶终端并输入sombrero
以检查绘图是否有效
octave:1> sombrero
答案 7 :(得分:6)
这对我有用:
Unistall gnuplot
brew uninstall gnuplot
安装AquaTerm。您可以从此处下载:http://sourceforge.net/projects/aquaterm/
重新安装gnuplot
brew install gnuplot
答案 8 :(得分:6)
安东是对的。您现在可以使用--with-aquaterm选项重新安装gnuplot。如果我有足够的声望点,我会回答他的答案。
$ brew uninstall gnuplot
$ brew install gnuplot --with-aquaterm
Mackuntu上面提到过这个问题已经在github上讨论了。
https://github.com/mxcl/homebrew/issues/14647#issuecomment-21132477
但他建议使用选项--aquaterm。如果仔细查看github链接,您会看到选项是--with-aquaterm。今天使用此选项重新安装gnuplot允许我运行一些旧的八度代码,该代码使用gnuplot在OS X上绘制图形。
答案 9 :(得分:5)
我有一个答案可以解决您遇到的问题。从本质上讲,问题是gnuplot构建没有找到合适的AquaTerm库。看看我发的帖子:
http://deveneezer.blogspot.com/2013/06/octave-gnuplot-and-aquaterm.html
答案 10 :(得分:2)
对我有用的是安装gnuplot-nox。另请参阅https://bugs.mageia.org/show_bug.cgi?id=4866
似乎安装gnuplot-nox的最佳方法是安装fink。 http://sourceforge.net/projects/fink/?source=dlp
fink install gnuplot-nox
似乎做得很好。但是安装失败了。 所以我安装了gnuplot-minimal然后再次运行gnuplot-nox安装,一切正常。
fink install gnuplot-minimal
fink install gnuplot-nox
gnuplot-nox install似乎已将aqua设置为gnuplot的默认终端。通过转到gnuplot shell验证。要验证绘图是否有效,请在shell中键入plot(1)。它应该在窗口中显示情节。
希望对你有用。
与其他帖子中的建议一样,将GNUTERM设置为X11并没有为我解决这个问题。同样直接安装AquaTerm for Mac OSX并没有解决这个问题。
答案 11 :(得分:2)
答案已包含在上面,但我认为这更简单:
nano ~/.octaverc
添加:
setenv("GNUTERM", "X11")
多数人重新启动你已经完成了。
答案 12 :(得分:2)
就我而言,在Mas OS Mojave上,适用于我的解决方案略有不同(可能仅是语法问题)。 经过on this thread讨论之后,我得出了对我有用的解决方案-可能需要注意的是,我有可能从Octave-cli而不是从Octave命令行直接在终端中绘制。
所以我创建了一个˜/.octaverc
文件,并向其中添加了以下命令:
setenv GNUTERM qt
只需从八度退出命令行,然后再次输入即可绘制。
答案 13 :(得分:0)
这是适用于我的解决方案(基于mackuntu评论的不同部分)
可能已经通过brew install octave命令为你安装了Gnuplot,所以我们需要先删除它
brew uninstall gnuplot
然后必须安装aquaterm(http://sourceforge.net/projects/aquaterm/)
安装完成后,您需要再次安装gnuplot。这是因为brew在安装过程中检测到aquaterm的存在,并且在之后不会对它进行任何检查。
brew install gnuplot --with-aquaterm
如果您在安装后启动gnuplot,则应显示支持aquaterm。八度音阶中的所有图形都可以使用。
答案 14 :(得分:0)
以下对我有用:
setenv("GNUTERM","qt")
您可以在八度cli上运行它以进行本地运行,也可以在八度启动文件中对其进行永久设置。
/usr/local/octave/3.8.0/share/octave/site/m/startup/octaverc
请记住,如果要更改octaverc文件,则必须具有对该文件的写入权限。