9. GNUPlot

  • Es un programa que se usa para crear gráficos a partir de datos. Funciona tanto en Windows como en Linux.
  • Línea de comandos:
    • gnuplot “script.gnu”
      gnuplot -e "INPUT=’ejemplo.csv’" "script.gnu"
    • gnuplot
      • load “script”
  • Con un script
    • VARIABLE=”valor”: declara una variable y le asigna un valor.
      set term <<png | pngcairo | pdf | pdfcairo | svg | jpeg>> [size <<X px, Y px>>][mouse][enhanced][font “Verdana,10”][transparent][background “color”]
      • Indica el tipo de salida (png, pdf, etc.)
    • set output “imagen.png”: declara el nombre del archivo de salida.
    • set encoding utf8: indica la codificación (para tildes y caracteres latinos)
    • set datafile separator “;”: indica el carácter que separa los datos en el archivo de entrada.
    • set key autotitle columnheader: utiliza el título de las columnas del archivo de entrada para la salida.
    • set timefmt “%Y-%m-%d %H:%M:%S”: indica el formato que tienen las fechas en el archivo de entrada.
    • set <<xdata | ydata>> time: formatea el eje "x" o "y" como fecha.
    • set <<xrange | yrange>> [0:100]: indica los límites de los ejes
      • *: si uno de los límites es un asterisco, se aplica autoescalado.
    • set <<xlabel | ylabel>> “valor”: añade etiqueta a los ejes.
      set label sprintf("%sh - %gWh", strftime("%Y-%m-%d %H", X_max), Y_max) center at first X_max,Y_max point pointtype 7 pointsize 1 offset 0,-1.5
      • Añade etiquetas dentro del gráfico.
    • set style fill solid
      plot “data.csv” using <<columna x:columna y>> with <<lines | dots | points | boxes>> title “titulo” [notitle] smooth <<bezier | kdensity | csplines>> linecolor “color” linewidth <<numero>>
      stats “data” using <<columna>> [nooutput] [name “nombre_”] [every ::<<columna filtro>>::<<columna filtro>>]
    • nombre_: nombre_max, nombre_min, nombre_mean, nombre_index_min
    • (sin name): STATS_max, …