Wed 16 Dec 2015 01:49:58 AM UTC, comment #4:
I discussed the topic of providing size/position control of gnuplot's figures with the developers several years ago. The conclusion was that it may be possible to inquire about the position of the figures, but changing the position was essentially a show stopper.
I'm not expecting Octave's support of gnuplot to disappear anytime soon. It is very useful for latex related graphics.
|
Sun 13 Dec 2015 02:01:39 AM UTC, comment #2:
These are both features of using gnuplot. Octave has no direct control over gnuplot figure windows after they have been created. This lacking was a major motivation for introducing native OpenGL graphics toolkits.
For case 1, closing a gnuplot window by clicking [X] is not an event that Octave is able to detect. Thus, figure (1) still exists (as far as Octave knows. Thus,
Is equivalent to
In each case, Octave still has two figures open and the findobj() command will return
For case 2, there is no mechanism for Octave to resize a gnpuplot window after it has been created. It is also not possible for Octave to determine the size of gnuplot windows. Meaning that if the mouse is used to resize the gnuplot window, Octave will be unaware of the change.
It is possible to specify a window's position and size when it is created. This can be done by specifying the figure's "position" when it is created.
This behavior is OS independent and has been addressed by the introduction of the OpenGL toolkits. Thus, I'm marking this as "won't fix".
|
Thu 10 Dec 2015 02:21:45 PM UTC, original submission:
Case 1.
close all; figure;
This opens "Figure 1".
Now close the figure with [x] and type figure again.
The new figure is "Figure 2". Typing figure(1) does not bring the original figure back but close(1); figure(1) does.
Problem: [x] should behave the same as close;
Case 2.
close all
h=figure(1); set(h,'Position', [60, 600, 400, 330]);
plot(1:10)
h=figure(1); set(h,'Position', [60, 600, 1400, 330]);
plot(1:20)
The figure size is not updated to the larger width 1400.
Problem: once a figure is created, it can't be resized.
BTW my graphics backend is gnuplot. I know this is legacy but I can't use the newer graphics on this computer - the libraries seem to conflict with the GPU (way beyond my skill level).
octave:84> graphics_toolkit
ans = gnuplot
|