当需要绘制时,Octave会冻结

时间:2016-01-21 14:47:44

标签: macos plot gnuplot octave

我有一个问题,从Octave绘图。 Octave和Gnuplot在OS X El Capitan上安装了Homebrew,在尝试完第一个绘图之后,我收到了错误:

  

设置终端aqua增强标题“图1”大小560 420字体   “*,6”dashlength 1

使用this answer中的说明修复此问题,简而言之:

brew uninstall gnuplot

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

brew install gnuplot --with-aquaterm

echo'

现在,当我做情节时,例如。 plot(rand(3)),然后Octave冻结,所以我必须做Control-C才能中止。当我尝试直接从Gnuplot和set term aqua绘图时,它可以工作,我得到了图。但是在Octave中,当我想要set term aquaset term时,它会报告:

  

错误:从字符串到实际N-d数组错误的无效转换:set:

     

期待图形句柄作为第一个参数

另外,我尝试过:

echo -E "setenv('GNUTERM','X11')" > ~/.octaverc

但这也没有帮助。我认为问题出在graphics_toolkit上,但我不知道如何解决这个问题。

octave:1> graphics_toolkit aqua
  

错误:graphics_toolkit:aqua toolkit不可用

     

错误:来自       第81行第5行的graphics_toolkit

octave:2> graphics_toolkit fltk
  

错误:graphics_toolkit:fltk工具包不可用

     

错误:来自       第81行第5行的graphics_toolkit

更新

接受的解决方案适用于版本4.2.0-rc2,现在请查看update in the answer以获取更多信息。

4 个答案:

答案 0 :(得分:13)

我注意到当我输入命令available_graphics_toolkits时,它只显示

  

ans =

     

{

     

[1,1] = gnuplot

     

}

当我尝试使用loaded_graphics_toolkits时,会打印

  

ans = {}(1x0)

我猜测问题是没有加载GUI环境,所以Octave然后用--with-gui选项重新编译

brew reinstall octave --with-gui

这解决了一个问题。

更新

根据此commit,从去年9月开始,版本4.2.0-rc2,--with-gui不再有效。所以最好遵循Konstantin的指示。

答案 1 :(得分:4)

  

启动Octave 4后的第一个图可以持续一段时间。

参考:http://wiki.octave.org/Octave_for_MacOS_X

答案 2 :(得分:1)

我必须将八度从4.4.0更新到最新版本5.2.0,才能摆脱此困扰。 但是我仍然无法弄清楚为什么以前的版本首先出现了错误的行为。

答案 3 :(得分:0)

octave命令行中的setenv(" GNUTERM"," qt")为我解决了这个问题! 见程答案:https://stackoverflow.com/a/24596336/7190647