图窗口没有响应

我用的是 Windows 764位。每次,我使用绘图函数,绘图窗口将显示和绘制成功,但在此之后,它停止响应,必须关闭它。

例如:

x = linspace(0,1,10)
y = x.^2
plot(x,y);

奇怪的是,当绘图窗口冻结,我必须关闭八度窗口时,它们也会没有反应。如果我不使用 plot 函数,就不会发生这种情况。

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

90285 次浏览

哦,我的朋友给我看了这个命令,它工作得很好:

pkg rebuild -noauto oct2mat

该命令重新安装包,但在启动时将其标记为默认不加载。这个行为现在已经改变,新版本的 Forge 软件包将不会默认加载。

问题是不应该加载 oct2mat 包。它隐藏了 Octave 核心的几个功能,所以它开始表现得很奇怪。除非你真的需要这个包裹,否则你最好把它取出来。

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

问题很可能是安装 Octave 时使用的图形工具包。

要检查这一点,请在 Octave 命令行中键入 graphics_toolkit

如果响应是 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


还是不行吗?

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

  • 如果上面的不起作用,你可能需要 安装/重新安装 gnuplot。(感谢 Lukas 和 saurabh 为这个边缘情况)。

正如阿萨德•易卜拉欣(Assad Ebrahim)所写,问题在于工具箱。我在3.8.2版本中遇到了另一个问题。Ggnuplot 根本不起作用。没有显示情节窗口,我需要关闭八度。如果有人有同样的问题,解决方案是下载 gnuplot 并将其安装到 Octave 文件夹。它取代了旧的 gnuplot,而新的正在工作。

谢谢你的建议。

当我第一次测试绘制示例图时,出现了图窗口,但是在一到两分钟内没有响应,然后出现了图。更多的阴谋立即出现。 操作系统: Windows 764位 八度4.0364位。

我有类似的症状时使用八度4.2运行你的代码(不能关闭绘图窗口,绘图需要时间出现)。当语句没有以分号(;)结束时,命令和结果将在命令窗口中打印出来。在我看来,命令窗口停止了对代码的解释,等待用户按下一个有效的键(f,b,q)来继续执行或中止执行。停止点依赖于以前执行的代码和命令窗口的大小,因此这些症状的间歇性。

解决方案:

选项1: 进入命令窗口,继续按 f (向前)

选项2: 使用分号终止语句

x = linspace(0,1,10);
y = x.^2;
plot(x,y);

选项3: 修改一些命令窗口设置

希望能有帮助

所以在窗户上,这个方法对我很有效:

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

下载链接:

Https://sourceforge.net/projects/gnuplot/

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

C: 八度共享八度站点 m 启动

打开记事本中该目录中的 octaverc文件。

第三步:

在文件末尾添加以下行。

gnuplot_binary 'C:\Program Files (x86)\gnuplot\bin\gnuplot.exe'
graphics_toolkit('gnuplot')

第四步:

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

第五步:

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

plot([1,2,3],[4,5,6]);

请注意,第一次可能需要 gnuplot高达5分钟 呈现图形。所以,请不要尝试关闭应用程序。随后 简单的情节渲染得很快,通常不到1秒

我在版本4.0.3中遇到了同样的问题,并且切换默认工具包到 gnuplot,因为 阿萨德 · 易卜拉欣说对我来说不起作用。然后我在 MicrosoftWindows 的八度中发现了一些东西:

当前的八度窗口船舶一个不完整的特点 gnuplot。 因此,不能使用 gnuplot 图形工具包的全部特性

还有关于如何下载和安装 gnuplot 的说明,希望对您有所帮助。

下面是从问题 如何让 Octave 的情节在 emacs 下工作?中归功于 约翰 · 劳伦斯 · 阿斯普登User2699在 Emacs 中运行 Octave时情节窗口冻结的解决方案。它被带到这里是因为这个问题更容易找到。

这个问题可能是由 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);

enter image description here

永久解决方案,编辑完毕

通过将 more off放入八度命令窗口来禁用屏幕输出的分页。这将防止代码等待直到您看到所有行。

如果您想重新打开它,请使用 more on

文件

相关问题

阻止-用户-交互-在-命令-窗口-为-八度

无法在 gui 命令窗口中停止执行