gnuplot es un programa de línea de comandos y GUI que puede generar gráficos bidimensionales y tridimensionales de funciones , datos y ajustes de datos . El programa se ejecuta en todos los principales ordenadores y sistemas operativos ( Linux , Unix , Microsoft Windows , macOS , FreeDOS y muchos otros). [ 4 ] Publicado originalmente en 1986, sus autores listados son Thomas Williams, Colin Kelley, Russell Lang, Dave Kotz, John Campbell, Gershon Elber, Alexander Woo "y muchos otros". [ 5 ] A pesar de su nombre, este software no forma parte del Proyecto GNU .
Características
gnuplot puede generar resultados directamente en pantalla o en diversos formatos de archivos gráficos, como Portable Network Graphics (PNG), Encapsulated PostScript (EPS), Scalable Vector Graphics (SVG), JPEG y muchos otros. También es capaz de generar código LaTeX que puede incluirse directamente en documentos LaTeX, aprovechando las fuentes y la potente notación de fórmulas de LaTeX. El programa puede utilizarse tanto de forma interactiva como en modo por lotes mediante scripts. [ 6 ]
Gnuplot puede leer datos en múltiples formatos, incluyendo la capacidad de leer datos generados sobre la marcha por otros programas ( piping ), crear múltiples gráficos en una sola imagen, realizar gráficos 2D, 3D, de contorno, ecuaciones paramétricas, admite varios sistemas de coordenadas lineales y no lineales, proyecciones, lectura y presentación de datos geográficos y temporales, diagramas de caja de varias formas, histogramas, etiquetas y otros elementos personalizados en el gráfico, incluyendo formas, texto e imágenes, que se pueden configurar manualmente, calcular mediante un script o automáticamente a partir de los datos de entrada.
gnuplot también proporciona capacidades de scripting, bucles, funciones, procesamiento de texto, variables, macros, preprocesamiento arbitrario de datos de entrada (generalmente en varias columnas), así como la capacidad de realizar un ajuste de datos ponderados multidimensionales multiconjunto no lineal (consulte Ajuste de curvas y algoritmo de Levenberg-Marquardt ).
El código principal de gnuplot está programado en C. Los subsistemas modulares para la salida a través de Qt , wxWidgets y LaTeX/TikZ/ConTeXt están escritos en C++ y Lua .

El código que aparece a continuación crea el gráfico de la derecha.
establecer título "Algunas funciones matemáticas" establecer rango x [ -10 : 10 ] establecer rango y [ -2 : 2 ] establecer eje cero trazar ( x / 4 ) ** 2 , sin ( x ) , 1 / x
Un diagrama de dispersión de muestras de un archivo de texto
Una espiral logarítmica
El nombre de este programa se eligió originalmente para evitar conflictos con un programa llamado "newplot", y fue originalmente un compromiso entre "llamaplot" y "nplot". [ 7 ]
La compatibilidad con los formatos diarios y semanales de Epidemic en la versión 5.4.2 es resultado de las necesidades de datos de la pandemia de coronavirus . [ 8 ]
Términos de distribución
A pesar de su nombre, gnuplot no se inspira en el Proyecto GNU , ni forma parte de él, ni está relacionado con él, ni utiliza la Licencia Pública General de GNU . Su nombre surgió como parte de un acuerdo entre los autores originales, haciendo un juego de palabras con gnu (el animal) y newplot (un nombre planeado que se descartó por estar ya en uso). [ 10 ]
El código fuente oficial de gnuplot es de libre distribución, pero sus versiones modificadas no lo son. La licencia de gnuplot permite la distribución de parches para las versiones oficiales, opcionalmente acompañados del código fuente oficial. Los binarios pueden distribuirse junto con el código fuente sin modificar y los parches aplicados. Para obtener soporte técnico para el software modificado, se debe proporcionar información de contacto con los trabajos derivados. [ 3 ]
Se concede permiso para modificar el software, pero no el derecho a distribuir el código fuente modificado completo. Las modificaciones deberán distribuirse como parches para 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 Linux, incluidas las más estrictas como Debian y Fedora . La Definición de Código Abierto de la 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 autorice explícitamente la distribución tanto de parches como de código fuente.
Los módulos más recientes de gnuplot (por ejemplo, Qt, wxWidgets y los controladores cairo) se han aportado bajo términos de doble licencia, por ejemplo, gnuplot + BSD o gnuplot + GPL.
Interfaces gráficas de usuario y programas que utilizan gnuplot
Varios programas de terceros cuentan con interfaces gráficas de usuario que permiten generar gráficos utilizando gnuplot como motor de trazado. Entre ellos se incluyen:
- gretl , un paquete estadístico para econometría
- JGNUPlot, una interfaz gráfica de usuario basada en Java [ 11 ]
- Kayali [ 12 ] un sistema de álgebra informática
- xldlas, un antiguo paquete de estadísticas X11 [ 13 ]
- gnuplotxyz, un antiguo programa de Windows [ 14 ]
- wxPinter, un gestor de gráficos para gnuplot [ 15 ]
- Maxima es un sistema de álgebra computacional basado en texto que a su vez cuenta con varias interfaces gráficas de usuario (GUI) de terceros.
- REDUCE es un sistema de álgebra computacional basado en texto ; las versiones que utilizan CSL tienen una interfaz gráfica de usuario (GUI) y existen varias GUI de terceros.
Otros programas que utilizan gnuplot incluyen:
- GNU Octave , un lenguaje de programación matemática
- statist, a terminal-based program[16]
- gplot.pl provides a simpler command-line interface.[17]
- feedgnuplot provides a plotting of stored and realtime data from a pipe
- ElchemeaAnalytical,[18] an impedance spectroscopy plotting and fitting program developed by DTU Energy[19]
- Gnuplot add-in for Microsoft Excel[20]
- Calc, the GNU Emacs calculator[21]
Programming and application interfaces
gnuplot can be used from various programming languages to graph data, including C++ (via G3P), Perl (via PDL and other CPAN packages), Python (via gnuplotlib, Gnuplot-py and SageMath), R via (Rgnuplot), Julia (via Gaston.jl), Java (via JavaGnuplotHybrid and jgnuplot), Ruby (via Ruby Gnuplot), Ch (via Ch Gnuplot), Haskell (via Haskell gnuplot), Fortran 95,[22]Smalltalk (Squeak and GNU Smalltalk) and Rust (via RustGnuplot).
gnuplot also supports piping, which is typical of scripts.[23] For script-driven graphics, gnuplot is one of the most popular programs.
Gnuplot output formats
Gnuplot allows the user to display or store plots in several ways:[24][25]
- On the console, such as dumb, sixel.
- In a desktop window, such as Qt, wxt, X11, aquaterm, win.
- Embedded in a web page, such as SVG, HTML5, PNG, JPEG, animated GIF.
- File formats designed for document processing, such as PostScript, PDF, cgm, emf, LaTeX variants.
See also
References
- ^"Gnuplot Version 6.0.4 Release Notes". Retrieved 24 December 2025.
- ^ ab"gnuplot License". Spdx.org.
- ^ a b "gnuplot : gnuplot-main : [bcc809] : Copyright" . Sourceforge.net . Consultado el 27 de junio de 2022 .
- ^ Manual de referencia de Gnuplot 5.0, 2015, ISBN 9881443644
- ^ "Preguntas frecuentes sobre gnuplot" . Gnuplot.info . Consultado el 29 de agosto de 2022 .
- ^ "Cómo generar gráficos con gnuplot" . Blogs.oucs.ox.ac.uk . Consultado el 19 de julio de 2012 .
- ^ "Preguntas frecuentes sobre gnuplot" . Gnuplot.info . Consultado el 20 de junio de 2024 .
- ^ "Notas de la versión 5.4.2 de Gnuplot" . Archivado del original el 8 de junio de 2021. Consultado el 8 de junio de 2021 .
- ^ "Licencia:Gnuplot" . Free Software Foundation . Consultado el 19 de noviembre de 2018 .
- ^ "1.2 ¿Cómo surgió y por qué se llama gnuplot?" . Gnuplot.info . Consultado el 21 de febrero de 2015 .
- ^ "Página principal de JGNUplot" . Jgp.sourceforge.net . Consultado el 27 de junio de 2022 .
- ^ "Kayalí" . Fuenteforge.net . 19 de abril de 2013 . Consultado el 27 de junio de 2022 .
- ^ "Xldlas - Un paquete estadístico básico para ventanas X" . Archivado del original el 31/10/2014 . Recuperado el 30/10/2014 .
- ^ "Inicio · uwe-schneider/Gnuplotxyz Wiki" . Uni-hamburg .
- ^ Steingrube, Daniel S. "Steingrube" . www.steingrube-home.de . Archivado del original el 26 de octubre de 2015. Consultado el 21 de agosto de 2015 .
- ^ "Wald: Statist: Proyecto Inicio" . Wald.intevation.org .
- ^ "GPlot" . Gplot.sourceforge.net . Consultado el 27 de junio de 2022 .
- ^ "Elchemea Analytical" . Elchemea.com . Consultado el 27 de junio de 2022 .
- ^ "DTU Energy" . Energy.dtu.dk . Archivado del original el 14 de abril de 2021. Consultado el 24 de mayo de 2016 .
- ^ "Complemento GnuPlot para Excel" . Sourceforge.net . 2 de enero de 2018. Consultado el 27 de junio de 2022 .
- ^ Gillespie, Dave. "La calculadora GNU Emacs" . www.gnu.org . Free Software Foundation, Inc. p. Gráficos . Consultado el 13 de noviembre de 2020 .
- ^ Singh, Madhusudan. "gnuplotfortran - la interfaz Fortran 95 para gnuplot" . gnuplotfortran.sourceforge.net . Consultado el 10 de mayo de 2016 .
- ^ "Consejo de 2 centavos: Cómo enviar datos a GNU Plot desde C" . Linuxgazette.net . Consultado el 27 de junio de 2022 .
- ^ "Página principal de gnuplot" . Gnuplot.info . Consultado el 27 de junio de 2022 .
- ^ "Manual Rápido de Gnuplot" (PDF) . Archivado del original (PDF) el 16-06-2020 . Consultado el 30-03-2020 .
Lecturas adicionales y enlaces externos
- Gnuplot en SourceForge
- Gnuplot 5 : un libro electrónico interactivo sobre Gnuplot v.5.
- gnuplotting : un blog con ejemplos y consejos sobre gnuplot.
- spplotters : un blog con ejemplos y consejos sobre gnuplot.
- gnuplot sorprendente : un blog con ejemplos y consejos sobre gnuplot
- gnuplot online : gnuplot v.5.x compilado en línea con WebAssembly
- Philipp K. Janert (2009). Gnuplot en acción . Manning Publications. ISBN 978-1933988399.
- Lee Phillips (2012). Libro de cocina de gnuplot . Publicación de paquetes. ISBN 978-1849517249.
- Williams, Thomas; Kelley, Colin (2015). Gnuplot 5.0 . Samurai Media Limited. ISBN 978-988-14436-4-9.
- Visualiza tus datos con gnuplot : un tutorial de IBM.
- Animación por computadora
- Software libre multiplataforma
- Software de análisis de datos
- Software gratuito de gráficos 3D
- Software educativo gratuito
- Software matemático gratuito
- Software de trazado gratuito
- Software libre programado en C
- Software de trazado
- Software de regresión y ajuste de curvas
- Software que utiliza wxWidgets
- Software que utiliza Qt