Se si desidera inviare una trama sia a un file e ad un terminale interattivo come x11
o wxt
avete la replot
dopo aver cambiato il terminale
set terminal png
set output 'file.png'
plot sin(x)
set terminal x11
set output
replot
Se non si desidera impostare il x11
terminale esplicitamente, ma piuttosto usare il terminale di default, qualunque essa sia, è possibile utilizzare i terminali speciali push
e pop
così salvare e ripristinare un terminale:
set terminal push
set terminal pngcairo
set output 'file.png'
plot sin(x)
set terminal pop
set output
replot
Per rendere questo più trasparente e salvare qualsiasi immagine dopo averla tracciata su un terminale interattivo, è possibile definire uno script gnuplot export.gp
che è possibile quindi call
e fornire il nome del file di output come parametro.
Lo script export.gp
è
set terminal push
set terminal pngcairo
set output '$0'
replot
set output
set terminal pop
che è quindi possibile utilizzare come
plot sin(x)
call 'export.gp' 'test.png'
Si noti, tuttavia, che il file esportato e la trama mostrato nella finestra interattiva sarà diverso, ma se si utilizza wxt
come interattivo e pngcairo
o pdfcairo
come terminali di output, le probabilità sono piuttosto elevate, che le immagini visualizzate ed esportate sono molto simili.
Con gnuplot 5.0 i terminali qt
e wxt
offrono un pulsante "Esporta" per salvare esattamente l'immagine mostrata nella finestra come SVG, PDF o file png. Sfortunatamente, questa funzionalità non può ancora essere invocata da uno script, cioè non esiste il comando export
.
Dalla versione 5 gnuplot ha un pulsante di salvataggio per il terminale 'qt' e' wxt'. – Christoph
Ciao Christoph, c'è un modo per farlo funzionare con gnuplot 4.6 patchlevel 0? –
Eccoci a luglio 2017 usando la versione 5.0 patchlevel 3, e la cosa della data ha risolto un problema enorme per me. Non sapevo data +% F (ho solo bisogno della data poiché faccio solo questo a mezzanotte dopo che i dati del giorno sono stati raccolti), e sulla concatenazione in gnuplot per creare il nome del file. Tutta questa cosa per me è automatizzata usando mcron per passare il tempo al secondo. Eccellente. Ti torno il cappello. Grazie. – SDsolar