In earlier versions of gnuplot, some terminal types used the values from set size to control also the size of the output canvas; others did not. The use of 'set size' for this purpose was deprecated in version 4.2. Almost all terminals now behave as follows:
set term <terminal_type> size <XX>, <YY> controls the size of the output file, or "canvas". By default, the plot will fill this canvas.
set size <XX>, <YY> scales the plot itself relative to the size of the canvas. Scale values less than 1 will cause the plot to not fill the entire canvas. Scale values larger than 1 will cause only a portion of the plot to fit on the canvas. Please be aware that setting scale values larger than 1 may cause problems.
The major exception to this convention is the PostScript driver, which by default continues to act as it did in earlier versions. Be warned that some future version of gnuplot may change the default behaviour of the PostScript driver as well.
set size 0.5, 0.5 set term png size 600, 400 set output "figure.png" plot "data" with lines
These commands produce an output file "figure.png" that is 600 pixels wide and 400 pixels tall. The plot will fill the lower left quarter of this canvas. This is consistent with the way multiplot mode has always worked.