绘图窗口无响应

hqt*_*hqt 70 plot octave hang

我正在使用Windows 7 64位.每次,我都在使用绘图功能,绘图窗口会成功显示和绘制,但之后它会停止响应并且必须关闭它.

例如 :

x = linspace(0,1,10)
y = x.^2
plot(x,y);
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当情节窗口冻结并且我必须关闭八度窗口时,它们也会没有响应.如果我不使用绘图功能,这将不会发生.

我不知道为什么.是因为我使用的是64位版本吗?请告诉我如何解决这个问题.

Ass*_*him 126

问题可能是您的Octave安装使用的图形工具包.

要检查此项,请键入graphics_toolkitOctave命令行.

如果响应是fltk并且您的绘图窗口冻结,则将默认工具包切换到gnuplot:graphics_toolkit('gnuplot')

测试问题是否已修复: x=1:10; y=x.^2; plot(x,y)

在Octta安装目录中的octave.rc文件中永久更改:

    On Windows:  \Octave\share\octave\site\m\startup\octaverc
    On Linux:     ~/.octaverc
Run Code Online (Sandbox Code Playgroud)


还是行不通?

  • 如果是响应qt,请尝试fltkgnuplot(一个可能比另一个更快).

  • 如果上述方法无效,则可能需要安装/重新安装gnuplot.(感谢lukas和saurabh这个边缘案例).

  • 在我的情况下,默认工具包是"qt",切换到"fltk"是修复(我试过"gnuplot",但它非常慢).Windows 7x64. (13认同)
  • 在我的例子中,默认工具包是"qt","gnuplot"和"fltk"都有效.Windows 8 x64. (3认同)
  • 这正是解决我的问题的原因 (2认同)
  • @AssadEbrahim:你想要更新最后提供的链接.谢谢:在我的情况下,默认值是"qt".gnuplot工作太慢,"fltk"工作正常!Windows 10 x64; Octave 4.0.0 (2认同)
  • 在linux上这个文件位于〜/ .octaverc (2认同)

小智 14

正如阿萨德·易卜拉欣写的那样,问题在于工具包.我在3.8.2版本中遇到了另一个问题.那个gnuplot根本没用.没有绘图窗口,我需要关闭Octave.如果有人遇到同样的问题,解决方案是下载gnuplot并将其安装到Octave文件夹.它取代旧的gnuplot,新的gnuplot正在工作.

我感谢你的建议.


hqt*_*hqt 13

哦.我的朋友告诉我这个命令,它工作正常:

pkg rebuild -noauto oct2mat

该命令重新安装该程序包,但标记为在启动时默认不加载.此行为现​​已更改,默认情况下不会加载Forge包的新版本.

问题是永远不应该加载包oct2mat.它会影响Octave核心的几个功能,因此它开始表现得很奇怪.除非你真的需要这个软件包,否则你最好除去它.

oct2mat的目的是弥补Matlab中缺少缺少的函数,并使用Octlab编写的代码在Matlab中运行.如果您不需要oct2mat,请将其删除.没有人需要安装所有软件包,它实际上可以使你的Octave安装更糟糕,例如在oct2mat的情况下.

  • 我在Octave 4.0中遇到了同样的问题.我解决了它在C:\ Octave\Octave-4.0.0\share\octave中创建空目录'packages' (6认同)
  • 请问,我应该在哪里运行此命令?我正在使用Ubuntu,终端无法识别`pkg`,Octave只是说'没有这样的文件或目录`. (3认同)

Anu*_*pta 11

所以在Windows上,这对我有用:

第1步: 将gnuplot安装到C:\Program Files (x86)\gnuplot:

下载链接:

https://sourceforge.net/projects/gnuplot/

第2步: 转到给定目录下面(考虑到你已经在C:\ root中安装了Octave):

C:\倍频\共享\倍频\网站\米\启动

打开octaverc文件存在于记事本中的该目录中.

第3步:

将以下行添加到文件末尾.

gnuplot_binary 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe'
graphics_toolkit('gnuplot')
Run Code Online (Sandbox Code Playgroud)

第4步:

保存文件并退出记事本.如果Octave打开请关闭它.

第5步:

打开Octave并在其中键入以下命令以检查:

plot([1,2,3],[4,5,6]);
Run Code Online (Sandbox Code Playgroud)

请注意,第一次gnuplot渲染图表可能需要5分钟.所以,请不要试图关闭该应用程序.随后的简单图表渲染速度非常快,通常不到1秒.

  • 第5步让我烦恼.为什么在地球上需要花费5分钟,5秒甚至5毫秒?这太荒谬了. (3认同)

小智 8

阿萨德给出的答案是绝对正确的,也适合我.

这只是一个例外情况.

键入Octave命令行后: graphics_toolkit

如果答案qt不是fltk,那么可能你的PC需要与SourceForge分开安装gnuplot,因为Octave在W8/10中安装时会出现一些错误.

这是附加的链接. https://sourceforge.net/projects/gnuplot/?source=directory

您无需更改任何安装文件.

这应该工作