Показать график на дисплее и сохранить его в файл одновременно в gnuplot
Как сохранить график в файл, а также распечатать его для отображения? Я пробовал:
#!/usr/bin/gnuplot -p
date=system("date +%F_%T | sed 's/:/-/g'")
set term png
set output date.".png"
set term x11
set out
plot sin(x)
PS: есть ли возможность сохранить график, который отображается в окне gnuplot? Я заметил, что есть кнопка копировать в буфер обмена, но нет сохранения.
1 ответов
если вы хотите отправить сюжет как в файл, так и в интерактивный терминал, например x11
или wxt
у вас replot
после того, как вы поменяли терминал
set terminal png
set output 'file.png'
plot sin(x)
set terminal x11
set output
replot
если вы не хотите устанавливать x11
терминал явно, но скорее используйте терминал по умолчанию, что бы это ни было, вы можете использовать специальные терминалы push
и pop
так сохранить и восстановить терминал:
set terminal push
set terminal pngcairo
set output 'file.png'
plot sin(x)
set terminal pop
set output
replot
чтобы сделать это более прозрачным и сохранить любое изображение после того, как вы нанесли его на интерактивный терминал вы можете определить скрипт gnuplot export.gp
который вы можете тогда call
и дать имя выходного файла в качестве параметра.
на export.gp
скрипт
set terminal push
set terminal pngcairo
set output ''
replot
set output
set terminal pop
который вы можете использовать как
plot sin(x)
call 'export.gp' 'test.png'
обратите внимание, однако, что экспортированный файл и график, показанный в интерактивном окне, будут отличаться, но если вы используете wxt
интерактивные и pngcairo
или pdfcairo
как выходные клеммы, шансы довольно высоки, что отображается и экспортированные изображения очень похожи.
С gnuplot 5.0 qt
и wxt
терминалы предлагают кнопку "Экспорт", чтобы сохранить точно изображение, показанное в окне в виде svg, pdf или png файлов. К сожалению, эта функциональность еще не может быть вызвана из скрипта, т. е. нет .