Plots changing in different program versions

Octave currently confuses me with plotting issues.

I had written a script that I last used in version 5.1.0. It produces a more or less fixed kind of plot with varying data. The same code and data makes the (what I thought was a nicely formatted) plot look different with my currently installed version 6.3.0.

  1. All lines appear thicker. Fine - this was announced in the release notes for version 6.
  2. The font size is larger. As a result, the entire proportions of the plot look odd and the x axis label of the bottom chart does not fit into the figure area.
  3. The top and the bottom charts have different widths. The width is set to 1-2*x1 for both charts, and x1 does not change.

What worries me are points 2) and 3). What are the reasons for those differences? Do I need to change the font size and all the axis position values (the latter being a look-up table based on the font size) in the code to make the two plots and all labels fit again in Octave 6.3? Or is there another way?

working with Windows 10
Octave installed with installer exe

This might be because of the "TitleFontSizeMultiplier" and "LabelFontSizeMultiplier" axes properties. These values are set to 1.1 by default so that the title and x labels and ylabels are 10% larger than the actual tick labels.

You might try

set (groot, 'DefaultAxesLabelFontSizeMultiplier', 1.0);
set (groot, 'DefaultAxesTitleFontSizeMultiplier', 1.0);

and then run your plotting script to see if the results are closer to the previous run.

It is also possible that a different font is being chosen between the two versions of Octave. You could try something like

set (groot, 'DefaultAxesFontName', 'Arial')

and then run the scripts in version 5 and version 6 and see if they are more similar.

Should not be the case. My code sets the font (Verdana) and the font size.

I will try this on Monday. If these values changed between versions 5 and 6, this might have an effect.
But if I understand you correctly, these two parameters affect only the plot title and the axis labels, not the tick labels. Notice that the size of all text is different in the two graphs above.

Unless this also solves the issue of the plots having different widths, it does not help in the end.

Trying a couple of different things, I get the notion that the two program versions I have installed, 5.1.0 and 6.3.0, might use a different activepositionproperty. My code does not specify activepositionproperty. The manuals of both versions state
activepositionproperty : { "outerposition" } | "position".
Note the differences in the width of the upper plot (with the width of the lower plot as a reference) as the fontsize is changed. The position property is the same in all cases.

First in version 5.1.0:




The width of the plot is the same with all fontsizes. The right y axis label can be cropped. The same applies to the x axis label at the bottom.

In version 6.3.0, the behaviour is different:






The upper plot is narrowed when fontsize > 6 so that the right y axis label always fits in the plot area. On the other hand, x axis label at the bottom can be cropped.

What do these observations mean?

Additional information -an excerpt from the code-:

[AX,Ha,Hb]=plotyy([0 0],[0 0], [0 0],[0 0]);
set(AX,'position',[x1 y2 1-2*x1 h]);
hold on
plot(...)   % add 4 waveforms

As I suspected, activepositionproperty of the plotyy command does seem to be different in versions 5 and 6. In version 5, the figure obtained with the original code looks like this:

Adding set(AX,'activepositionproperty','position') for the upper one of the two plots has no effect:

On the other hand, in version 6 the original code produces

Whereas with set(AX,'activepositionproperty','position') the figure changes to

Note the different widths of the upper plot depending on whether activepositionproperty is explicitly set to position or not. The manuals of both versions state
activepositionproperty : { "outerposition" } | "position".

Meanwhile, I also start to suspect that saving figures is not the same in both program versions. What is being displayed in Octave

is essentially the same in terms of proportions, but significantly different than what is saved using
print('-dpng','-r600',imagefilename) in version 6 regarding the font size:

The difference in the font size of the saved image is not just a mere scaling factor of 10 % as rik suggested above.
I already tested the hypothesis that specifying the fontunits might make a difference, similar to activepositionproperty. But it does not look like it (note the fontsize units):

So the “solution” that helped for the problem with the plot width above does not help in this situation. Does anyone have an idea what is happening here during printing? Why does the figure look fine when it is displayed in Octave v6, but after being printed, all text appears much larger?