- Un diagrama de dispersión de muestras de un archivo de texto.
- Una espiral logarítmica.
gnuplot es un programa GUI y de línea de comandos que puede generar gráficos bidimensionales y tridimensionales de funciones , datos y ajustes de datos . El programa se ejecuta en todas las computadoras y sistemas operativos principales ( Linux , Unix , Microsoft Windows , macOS , FreeDOS y muchos otros). [3] Publicado originalmente en 1986, sus autores enumerados son Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John Campbell, Gershon Elber, Alexander Woo "y muchos otros". [4] A pesar de su nombre, este software no forma parte del Proyecto GNU .
gnuplot puede producir resultados directamente en la pantalla o en muchos formatos de archivos gráficos, incluidos Portable Network Graphics (PNG), Encapsulated PostScript (EPS), Scalable Vector Graphics (SVG), JPEG y muchos otros. También es capaz de producir código LaTeX que puede incluirse directamente en documentos LaTeX, utilizando las fuentes de LaTeX y sus poderosas capacidades de notación de fórmulas. El programa se puede utilizar tanto de forma interactiva como por lotes mediante scripts. [5]
gnuplot puede leer datos en múltiples formatos, incluida la capacidad de leer datos sobre la marcha generados por otros programas ( piping ), crear múltiples gráficos en una imagen, realizar gráficos 2D, 3D, contornos, ecuaciones paramétricas, admite varias coordenadas lineales y no lineales. sistemas, proyecciones, lectura y presentación de datos geográficos y temporales, diagramas de caja de diversas formas, histogramas, etiquetas y otros elementos personalizados en el diagrama, incluidas formas, texto e imágenes, que pueden configurarse manualmente, calcularse mediante script o automáticamente a partir de la entrada. datos.
gnuplot también proporciona capacidades de secuencias de comandos, bucles, funciones, procesamiento de texto, variables, macros, preprocesamiento arbitrario de datos de entrada (generalmente entre columnas), así como la capacidad de realizar un ajuste de datos ponderados de conjuntos múltiples, multidimensionales y no lineales (consulte Curva ajuste y algoritmo de Levenberg-Marquardt ).
El código central de gnuplot está programado en C. Los subsistemas modulares para salida a través de Qt , wxWidgets y LaTeX/TikZ/ConTeXt están escritos en C++ y Lua .
El siguiente código crea el gráfico de la derecha.
establecer el título "Algunas funciones matemáticas" establecer rango x [ -10 : 10 ] establecer rango y [ -2 : 2 ] establecer gráfico de eje cero ( x / 4 ) ** 2 , sin ( x ) , 1 / x
El nombre de este programa fue elegido originalmente para evitar conflictos con un programa llamado "newplot", y originalmente era un compromiso entre "llamaplot" y "nplot". [6]
La compatibilidad con los formatos diarios y semanales de Epidemia en la versión 5.4.2 es el resultado de las necesidades de datos sobre el coronavirus pandémico. [7]
A pesar del nombre de gnuplot, no lleva el nombre, no forma parte ni está relacionado con el Proyecto GNU , ni utiliza la Licencia Pública General GNU . Fue nombrado como parte de un compromiso por parte de los autores originales, haciendo un juego de palabras con gnu (el animal) y newplot (un nombre planeado que se descartó debido a que ya se estaba usando). [9]
El código fuente oficial de gnuplot se puede redistribuir libremente, pero las versiones modificadas del mismo no. La licencia gnuplot permite, en cambio, la distribución de parches contra lanzamientos oficiales, opcionalmente acompañados de un código fuente publicado oficialmente. Los binarios pueden distribuirse junto con el código fuente no modificado y cualquier parche aplicado al mismo. La información de contacto debe proporcionarse con los trabajos derivados para soporte técnico del software modificado. [2]
Se concede permiso para modificar el software, pero no el derecho a distribuir el código fuente modificado completo. Las modificaciones se distribuirán como parches de la versión publicada.
A pesar de esta restricción, gnuplot es aceptado y utilizado por muchos paquetes GNU y está ampliamente incluido en distribuciones de Linux , incluidas las más estrictas como Debian y Fedora . La Definición de código abierto de OSI y las Directrices de software libre de Debian permiten específicamente restricciones en la distribución de código fuente modificado, siempre que se dé permiso explícito para distribuir tanto parches como código fuente.
Los módulos gnuplot más nuevos (por ejemplo, Qt, wxWidgets y controladores cairo) se han aportado bajo términos de licencia dual, por ejemplo, gnuplot + BSD o gnuplot + GPL.
Varios programas de terceros tienen interfaces gráficas de usuario que se pueden utilizar para generar gráficos utilizando gnuplot como motor de trazado. Éstas incluyen:
Otros programas que utilizan gnuplot incluyen:
gnuplot se puede utilizar desde varios lenguajes de programación para graficar datos, incluidos C++ (a través de g3p), Perl (a través de PDL y otros paquetes CPAN ), Python (a través de gnuplotlib, Gnuplot-py y SageMath ), R a través de (Rgnuplot), Julia (a través de Gaston.jl), Java (vía JavaGnuplotHybrid y jgnuplot), Ruby (vía Ruby Gnuplot), Ch (vía Ch Gnuplot), Haskell (vía Haskell gnuplot), Fortran 95 , [21] Smalltalk ( Squeak y GNU Smalltalk ) y Rust ( vía RustGnuplot).
gnuplot también admite tuberías , que son típicas de los scripts. [22] Para gráficos basados en scripts, gnuplot es uno de los programas más populares. [ cita necesaria ]
Gnuplot permite al usuario mostrar o almacenar gráficos de varias maneras: [23] [24]