Я пытаюсь сгенерировать график с большим верхним полем, и в этом поле поместите большой ключ.
Согласно документации Gnuplot 5.2 :
set tmargin {{at screen} <margin>}
Поле - это расстояние между границей графика и внешним краем холста
и
... screen указывает область экрана (всю область, а не только часть, выбранную с помощью установленного размера ), с 0,0 в левом нижнем углу и 1,1 в правом верхнем углу.
Однако, когда я запускаю следующий скрипт,
reset
set terminal pngcairo font '12,'
set key on tmargin
N = 15
M = 20
do for [m=2:(M-2)] {
this_margin = m/(0.0 + M)
#print this_margin
set tmargin at screen this_margin
set title sprintf("set tmargin at screen %0.2f",this_margin)
set output sprintf("margin_test_%02i.png", m)
plot for [i=0:N] cos(i*x) title sprintf("cos(%2ix)",i)
}
я генерирую следующую анимацию:
Эта анимация показывает, что когдаполе большое (т. е. set margin at screen 0.15
), ключ не может заполнить поле, вместо этого он сдавливается в область верхнего поля.Только когда поле невелико (т. Е. set margin at screen 0.80
), ключ может опуститься до одного столбца.Разве это не поведение в обратном направлении?
Мой вопрос:
Как получить большое верхнее поле (т. Е. set tmargin at screen 0.20
, как в начале графика в анимации) без gnuplot протолкнул ключ tmargin в верхнюю часть холста?
Обратите внимание, что простая установка местоположения ключа вручную (например, set key at x,y maxcols 1
) не исправляет сжатый ключ для больших полей.