Из руководства по gnuplot:
Нажатие установленного срока команды запоминает текущий терминал, включая его настройки, в то время как заданный термин восстанавливает его.Это эквивалентно сохранению срока и срока загрузки, но без доступа к файловой системе.Поэтому их можно использовать, например, для независимого от платформы восстановления терминала после печати.После запуска gnuplot терминал по умолчанию или терминал из файла запуска загружаются автоматически.Поэтому переносимые сценарии могут полагаться на то, что установленный термин pop восстанавливает терминал по умолчанию на данной платформе, если только другой терминал не был явно выдвинут.
На самом деле, мне не совсем ясно, в чем преимущество terminal push
и terminal pop
?Ну, восстановление терминала по умолчанию.Единственное преимущество, которое я могу себе представить (в настоящее время), заключается в том, что в длинном скрипте gnuplot, когда вы переключаетесь назад и вперед на разные терминалы, вам не нужно вводить все параметры вашего терминала по умолчанию снова и снова.И в случае, если вы измените некоторые настройки терминала, в противном случае вам придется изменить все вхождения в вашем скрипте.
Может быть, вам пригодится следующее: в начале кода определите свои терминалы с фоном или другими настройкамикак строковые переменные, а затем позже вызвать их как макрос с @
.Таким образом, при этом я не вижу разницы между вызовами @TerminalDefault
и set terminal pop
, за исключением того, что @TerminalDefault
также восстановит, если у вас был тот же терминал, но только с другими настройками.
Код:
### workaround for terminal push & pop with same terminal but different settings
reset session
TerminalDefault = 'set term wxt 0 background "white"'
TerminalCyan = 'set term wxt 0 background "cyan"'
TerminalYellow = 'set term wxt 0 background "yellow"'
TerminalPNG = 'set term png background "green"'
@TerminalDefault
plot x
pause -1 TerminalDefault
@TerminalCyan
plot x**2
pause -1 TerminalCyan
@TerminalPNG
set output "Test.png"
plot x**3
set output
pause -1 TerminalPNG
@TerminalDefault
plot x**4
pause -1 TerminalDefault
### end of code