Saltar al contenido

¿Cómo llamar a gnuplot desde CLI y guardar el gráfico de salida en el archivo de imagen?

Solución:

No tiene que redirigir la salida de gnuplot a un archivo de imagen; puede configurar eso dentro del propio script gnuplot:

set terminal png
set output 'image.png'

Si desea tener un nombre de salida variable, una forma sencilla de hacerlo en bash es ajustar los comandos de gnuplot de esta manera:

#!/bin/bash

echo "set terminal png
set output '$1'
plot 'data.dat'" | gnuplot

De esta forma puede ejecutar el script bash con un argumento para el nombre del archivo de salida:

./plotscript.sh image.png

Simplemente poniendo la siguiente línea hará que gnuplot devuelva el código de bytes en formato png. Por lo tanto, puede redirigir la salida a un archivo png.

set terminal png

Cuando su archivo por lotes se ejecuta solo en gnuplot (con el script) y no hace nada más, puede combinar el archivo por lotes con el script de gnuplot:

@echo off & call gnuplot -e "echo='#';set macros" "%~f0" & goto :eof

set terminal png
set output 'image.png'
...

Guarda esto con .cmd extensión.
Las ventajas de esto es que:

  • solo tiene 1 archivo en lugar de dos
  • ese archivo se puede ejecutar desde Explorer / TaskScheduler / etc. de forma portátil
    (no es necesario asociar una nueva extensión con gnuplot.exe)

En otras palabras, este es el “equivalente” de Windows (?) Del #!/usr/bin/env gnuplot solución de Unix
(por eso me resulta tan cómodo trabajar con scripts de gnuplot en Windows).
(Nota: ‘llamar a gnuplot’ se usa para permitir un archivo gnuplot.cmd en algún lugar de la RUTA, en lugar de contaminar la RUTA con la carpeta gnuplot.exe (y muchos otros programas)).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *