Plot window not responding
I'm using Windows 7 64 bit. Each time, I'm using plot function, plot windows will shows and draws successfully, but after that it stops responding and must shut down it.
For example :
x = linspace(0,1,10)
y = x.^2
plot(x,y);
Strangely, when plot windows freeze and I must close octave windows, they will be unresponsive too. This will not happen if I don't use plot function.
I don't know why. Does it because I'm using 64 bit version? Please tell me how to fix this.
The problem is likely to be the graphics toolkit which your installation of Octave is using.
To check this, type graphics_toolkit
in the Octave command line.
If the response is fltk
and your plot window is freezing, then switch the default toolkit to gnuplot: graphics_toolkit('gnuplot')
Test that the problem is fixed: x=1:10; y=x.^2; plot(x,y)
Make the change permanent in your octave.rc file, located in your Octave installation directory:
On Windows: \Octave\share\octave\site\m\startup\octaverc
On Linux: ~/.octaverc
Still not working?
If response is
qt
, try eitherfltk
orgnuplot
(one may be faster than the other).If the above does not work, you may need to install/re-install gnuplot. (thanks to lukas and saurabh for this edge case).
As Assad Ebrahim wrote, the problem is with the toolkit. I got another problem in version 3.8.2. that the gnuplot didn't work at all. No plot windows showed and a I needed to close Octave. If someone have the same problem, the solution is to download gnuplot and install it to Octave folder. It replaces old gnuplot and the new one is working.
And I thank you for the advice.
Oh. My friend shows me this command and it works fine :
pkg rebuild -noauto oct2mat
The command reinstalls the package but marks it to not load by default at startup. This behavior has now been changed and new releases of Forge packages will NOT load by default.
The problem is that the package oct2mat should never be loaded. It shadows several functions of Octave core so it starts acting weird. Unless you really have a need for this package you better off just removing it.
The purpose of oct2mat is to make up for the lack of missing functions in Matlab and make code written for Octave run in Matlab. If you don't need oct2mat, remove it. No one needs all packages installed, and it can actually make your Octave install worse such as in the case of oct2mat.