Основным изменением с версии 4 на версию 5 было согласование различных режимов вывода (терминалов), чтобы они работали более совместимо друг с другом. Таким образом, цель состояла в том, чтобы график, составленный в интерактивном терминале, мог затем быть нанесен на вывод PostScript или PDF без необходимости изменять все команды размера, цвета, типа линии и т. Д. c, чтобы сохранить внешний вид. Поскольку терминалы версии 4 не соответствовали друг другу, поведение некоторых терминалов обязательно изменялось так, что старые сценарии нуждались в пересмотре. Фактически это было основной причиной повышения основной версии с 4 до 5.
В версии 4 терминал PostScript, в частности, вел себя не так, как другие режимы вывода, поскольку он позволял вам «рисовать вне линий». msgstr "установив размер чертежа больше 1, например, команду в вашем примере set size 1.55, 0.9
. Было рекомендовано избегать этого даже в версии 4, для которой в документации сказано:
«установленный размер» относится к размеру по умолчанию, который отличается от терминала к терминалу. Так как по умолчанию gnuplot заполняет как можно большую часть доступной области печати, безопаснее использовать «заданный размер», чтобы уменьшить размер графика, чтобы увеличить его. См. «Установка терминала» для размеров по умолчанию
Дальнейшая самонесовместимость в версии 4 заключалась в несовместимых результатах выдачи команды set size
после, а не до, команды set terminal
. В целом было более надежно сначала установить размер, а затем установить терминал (примечание: это больше не актуально в версии 5!).
Пересмотренный ниже скрипт должен работать с использованием версии 5 с дополнительным преимуществом что он может использоваться для типов терминалов, отличных от PostScript. Я прокомментировал строки, которые изменились. Обратите внимание, что исправленный скрипт отлично работает и в версии 4.6.
# default eps output size is 5in x 3.5in
## scale this to get the size used by the original v4 script
##
set terminal postscript eps enhanced color size 7.75in, 2.975in
set output '2243.eps'
# Setting common traits for all graphs inside multiplot
set size ratio -1
set tic scale 0.2
set xlabel 'column'
set ylabel 'row'
set xrange [-0.5:60.5]
set yrange [60.5:-0.5]
set xtics('0' 0,'5' 5,'10' 10,'15' 15,'20' 20,'25' 25,'30' 30,'35' 35,'40' 40,'45' 45,'50' 50,'55' 55,'60' 60) font ',10'
set ytics('0' 0,'5' 5,'10' 10,'15' 15,'20' 20,'25' 25,'30' 30,'35' 35,'40' 40,'45' 45,'50' 50,'55' 55,'60' 60) font ",10"
set view map
set cbrange [0:3660]
unset colorbox
## CHANGE - do not attempt to change terminal output size with
## a "set size" command
# Size of multiplot
#set size 1.55,0.85 <<<<<< Never set size greater than 1.0
set multiplot
# Graph 0
##
## set size and origin relative to size of 1.0
## (I don't know what the original "set lmargin" was trying to do)
##
set size 0.45/1.55, 0.9
set origin 0.11/1.55, 0.
#set lmargin at screen 0.01
set title 'Case 1' font ',12' textcolor rgb'blue'
splot '2243.dat' matrix with image noti
# Graph 1
##
## set size and origin relative to size of 1.0
##
set size 0.45/1.55, 0.9
set origin 0.51/1.55, 0.
#set lmargin at screen 0.51
set ytics('' 0,'' 5,'' 10,'' 15,'' 20,'' 25,'' 30,'' 35,'' 40,'' 45,'' 50,'' 55,'' 60)
unset ylabel
set title 'Case 2' font ',12' textcolor rgb'red'
splot '2243.dat' matrix with image noti
# Graph 2
##
## set size and origin relative to size of 1.0
##
set size 0.45/1.55, 0.9
set origin 0.91/1.55, 0.
#set lmargin at screen 0.96
set colorbox vertical user origin graph 1.0+0.12,0.0 size graph 0.1,1.
set cblabel 'content' rotate by -90 offset 2.,1.
set cbtics format '%g'
set label 1 'Plane 0' at graph 1.12,-0.15 textcolor rgb 'green' font ',12'
set title 'Case 3' font ',12' textcolor rgb'forest-green'
splot '2243.dat' matrix with image noti
unset multiplot