我正在使用Windows 7 64位。每次使用绘图功能时,绘图窗口都会成功显示并绘制,但是此后它将停止响应并必须将其关闭。
例如 :
x = linspace(0,1,10)
y = x.^2
plot(x,y);
奇怪的是,当绘图窗口冻结并且我必须关闭八度窗口时,它们也将无响应。如果我不使用绘图功能,则不会发生这种情况。
我不知道为什么 是否因为我使用的是64位版本?请告诉我如何解决此问题。
Answers:
问题可能出在您安装的Octave安装所使用的图形工具包中。
要检查这一点,请graphics_toolkit
在Octave命令行中键入。
如果响应是fltk
并且您的绘图窗口处于冻结状态,则将默认工具箱切换为gnuplot:graphics_toolkit('gnuplot')
测试问题是否已解决: x=1:10; y=x.^2; plot(x,y)
将更改永久保存在Octave安装目录中的octave.rc文件中:
On Windows: \Octave\share\octave\site\m\startup\octaverc
On Linux: ~/.octaverc
如果response是qt
,请尝试一个fltk
或gnuplot
(一个可能比另一个快)。
如果上述方法不起作用,则可能需要安装/重新安装gnuplot。(感谢lukas和saurabh的这种优势)。
正如Assad Ebrahim所写,问题出在工具包上。我在版本3.8.2中遇到另一个问题。gnuplot根本不起作用。没有显示绘图窗口,我需要关闭Octave。如果有人遇到相同的问题,解决方案是下载gnuplot并将其安装到Octave文件夹。它取代了旧的gnuplot,而新的gnuplot正在运行。
我感谢您的建议。
哦。我的朋友向我展示了此命令,它可以正常工作:
pkg rebuild -noauto oct2mat
该命令将重新安装软件包,但将其标记为默认在启动时不加载。现在,此行为已更改,默认情况下不会加载新版本的Forge软件包。
问题在于,永远不要加载oct2mat软件包。它遮盖了Octave核心的几个功能,因此开始表现怪异。除非您确实需要此软件包,否则最好将其删除。
oct2mat的目的是弥补Matlab中缺少的功能,并使为Octave编写的代码在Matlab中运行。如果不需要oct2mat,请将其删除。没有人需要安装所有软件包,并且实际上可能会使您的Octave安装变得更糟,例如oct2mat。
pkg
,Octave只是说no such file or directory
。
因此,在Windows上,这对我有用:
步骤1:
将gnuplot安装到C:\Program Files (x86)\gnuplot
:
下载链接:
步骤2: 转到给定目录下的目录(考虑您已在C:\ root中安装Octave):
C:\ Octave \ share \ octave \ site \ m \ startup
打开octaverc
记事本中该目录中存在的文件。
第三步:
在文件末尾添加以下行。
gnuplot_binary 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe'
graphics_toolkit('gnuplot')
步骤4:
保存文件并退出记事本。如果Octave
打开,请也将其关闭。
步骤5:
打开Octave
并在其中键入以下命令进行检查:
plot([1,2,3],[4,5,6]);
请注意,第一次
gnuplot
绘制图形最多可能需要5分钟。因此,请不要尝试关闭该应用程序。随后的简单绘图可以很快完成渲染,通常不到1秒。
阿萨德(Assad)给出的答案是绝对正确的,并且对我也很好。
这只是一个例外情况。
在八度命令行中键入后: graphics_toolkit
如果答案qt
不是fltk
,则可能是因为Octave在W8 / 10中自行安装时出现一些错误,因此您的PC可能需要与SourceForge分开安装gnuplot。
这里是链接。 https://sourceforge.net/projects/gnuplot/?source=directory
您不需要更改任何安装文件。
这应该工作
当我第一次测试绘制示例图时,出现了图窗口,但在一到两分钟内没有响应,然后出现了图。进一步的情节立即出现。操作系统:Windows 7 64 bit Octave 4.0.3 64 bit。
我在4.0.3版中遇到了同样的问题,并且将默认工具箱切换到gnuplot,正如Assad Ebrahim所说对我不起作用。然后,我在用于Microsoft Windows的Octave中找到了一些东西:
Windows的当前八度音程附带功能不全的gnuplot。因此,您不能使用gnuplot图形工具包的全部功能
并提供了有关如何下载和安装gnuplot的说明。希望对您有帮助。
以下是从Emacs中运行Octave时冻结绘图窗口的解决方案,该问题归功于John Lawrence Aspden和user2699,该问题来自于如何使Octave的绘图在emacs下工作?。之所以来到这里,是因为这个问题更容易找到。
该问题可能是由Emacs八度模式的--no-line-editing
切换引起的,您可以通过进行修复M-x customize-variable RET inferior-octave-startup-args RET
并更改--no-line-editing
为--line-editing
。
我遇到了同样的问题,有时linspace会在命令窗口中显示所有结果,并等待您的交互。;
在命令后添加,或q
在命令窗口中单击以退出
x = linspace(0,10,100);
通过放入more off
八度命令窗口来禁用屏幕输出的分页。这样可以防止代码等待您看到所有行。
如果您想重新启用此功能,请使用 more on