gnuplot - gnuplot

gnuplot
Gnuplot ellipsoid.svg
Rendering 3D di un ellissoide di gnuplot
Versione iniziale 1986 ; 35 anni fa ( 1986 )
Rilascio stabile 5.4.2 (28 maggio 2021 ; 2 mesi fa ) [±] ( 2021-05-28 )
Rilascio in anteprima 5,5 [±]
Repository Modificalo su Wikidata
Scritto in C
Tipo plottaggio
Licenza gnuplot
Sito web gnuplot .info

gnuplot è un programma a riga di comando e GUI in grado di generare grafici bidimensionali e tridimensionali di funzioni , dati e adattamenti di dati . Il programma funziona su tutti i principali computer e sistemi operativi ( Linux , Unix , Microsoft Windows , macOS , FreeDOS e molti altri). È un programma con una storia abbastanza lunga, che risale al 1986. Nonostante il nome, questo software non fa parte del Progetto GNU .

Caratteristiche

gnuplot può produrre output direttamente sullo schermo o in molti formati di file grafici, inclusi Portable Network Graphics (PNG), Encapsulated PostScript (EPS), Scalable Vector Graphics (SVG), JPEG e molti altri. È anche in grado di produrre codice LaTeX che può essere incluso direttamente nei documenti LaTeX, utilizzando i caratteri di LaTeX e le potenti capacità di notazione delle formule. Il programma può essere utilizzato sia in modo interattivo che in modalità batch tramite script.

gnuplot può leggere i dati in più formati, inclusa la capacità di leggere i dati al volo generati da altri programmi ( piping ), creare più grafici su un'immagine, fare 2D, 3D, grafici di contorno, equazioni parametriche, supporta varie coordinate lineari e non lineari sistemi, proiezioni, lettura e presentazione di dati geografici e temporali, box plot di varie forme, istogrammi, etichette e altri elementi personalizzati sul grafico, incluse forme, testo e immagini, che possono essere impostati manualmente, calcolati da script o automaticamente da input dati.

gnuplot fornisce anche capacità di scripting, loop, funzioni, elaborazione del testo, variabili, macro, pre-elaborazione arbitraria dei dati di input (di solito su colonne), nonché la capacità di eseguire l'adattamento di dati ponderati multi-set multidimensionali non lineari (vedere Curve adattamento e algoritmo di Levenberg-Marquardt ).

Il codice principale di gnuplot è programmato in C . I sottosistemi modulari per l'output tramite Qt , wxWidgets e LaTeX/TikZ/ConTeXt sono scritti in C++ e Lua .

Image
gnuplot nell'uso interattivo.

Il codice seguente crea il grafico a destra.

set title "Some Math Functions"
set xrange [-10:10]
set yrange [-2:2]
set zeroaxis
plot (x/4)**2, sin(x), 1/x

Il nome di questo programma è stato originariamente scelto per evitare conflitti con un programma chiamato "newplot", ed era originariamente un compromesso tra "llamaplot" e "nplot".

Il supporto dei formati giornalieri e settimanali dell'epidemia nella versione 5.4.2 è il risultato delle esigenze di dati relativi al coronavirus pandemico.

La versione di sviluppo 5.5 è disponibile nel 2021.

Termini di distribuzione

licenza gnuplot
Autore Thomas Williams, Colin Kelley
Pubblicato 1986 – 1993, 1998, 2004
Identificatore SPDX gnuplot
Compatibile con Debian FSG
Approvato dalla FSF
OSI approvato
Compatibile con GPL No
Copyleft No
Sito web https://sourceforge.net/p/gnuplot/gnuplot-main/ci/master/tree/Copyright

Nonostante il nome di gnuplot, non prende il nome, fa parte o è correlato al Progetto GNU , né utilizza la GNU General Public License . È stato nominato come parte di un compromesso dagli autori originali, facendo giochi di parole su gnu (l'animale) e newplot .

Il codice sorgente ufficiale di gnuplot è liberamente ridistribuibile, ma le sue versioni modificate non lo sono. La licenza gnuplot consente invece la distribuzione di patch contro rilasci ufficiali, eventualmente accompagnati da codice sorgente rilasciato ufficialmente. I file binari possono essere distribuiti insieme al codice sorgente non modificato e alle eventuali patch applicate. Le informazioni di contatto devono essere fornite con i lavori derivati ​​per il supporto tecnico per il software modificato.

Viene concesso il permesso di modificare il software, ma non il diritto di distribuire il codice sorgente modificato completo. Le modifiche devono essere distribuite come patch alla versione rilasciata.

Nonostante questa restrizione, gnuplot è accettato e utilizzato da molti pacchetti GNU ed è ampiamente incluso nelle distribuzioni Linux comprese quelle più severe come Debian e Fedora . L' OSI Open Source Definition e le linee guida Debian Free Software consentono specificamente restrizioni sulla distribuzione del codice sorgente modificato, dato il permesso esplicito di distribuire sia le patch che il codice sorgente.

Moduli gnuplot più recenti (ad es. Qt, wxWidgets e driver cairo) sono stati forniti con termini di doppia licenza, ad es. gnuplot + BSD o gnuplot + GPL.

GUI e programmi che utilizzano gnuplot

Diversi programmi di terze parti dispongono di interfacce utente grafiche che possono essere utilizzate per generare grafici utilizzando gnuplot come motore di stampa. Questi includono:

Altri programmi che utilizzano gnuplot includono:

  • GNU Octave , un linguaggio di programmazione matematico
  • statist, un programma basato su terminale
  • gplot.pl fornisce un'interfaccia a riga di comando più semplice.
  • feedgnuplot fornisce un grafico dei dati memorizzati e in tempo reale da una pipe.
  • ElchemeaAnalytical, un programma di tracciamento e adattamento della spettroscopia di impedenza sviluppato da DTU Energy
  • Componente aggiuntivo Gnuplot per MS-Excel
  • Calc, il calcolatore GNU Emacs

Interfacce di programmazione e applicazione

gnuplot può essere utilizzato da vari linguaggi di programmazione per rappresentare graficamente i dati, incluso Perl (tramite PDL e altri pacchetti CPAN ), Python (tramite gnuplotlib , Gnuplot-py e SageMath ), R tramite ( Rgnuplot ), Julia (tramite Gaston.jl ), Java (tramite JavaGnuplotHybrid e jgnuplot ), Ruby (tramite Ruby Gnuplot ), Ch (tramite Ch Gnuplot ), Haskell (tramite Haskell gnuplot ), Fortran 95 , Smalltalk ( Squeak e GNU Smalltalk ) e Rust (tramite RustGnuplot ).

gnuplot supporta anche il piping , che è tipico degli script. Per la grafica basata su script, gnuplot è uno dei programmi più popolari.

Formati di output di Gnuplot

Gnuplot consente di visualizzare o memorizzare i grafici in diversi modi:

  • Sulla console (modalità di uscita muto, sixel)
  • In una finestra del desktop (modalità di output qt, wxt, x11, aquaterm, win, ...)
  • Incorporato in una pagina web (modalità di output svg, HTML5, png, jpeg, gif animate, ...)
  • Formati di file progettati per l'elaborazione dei documenti (modalità di output PostScript, PDF, cgm, emf, varianti LaTeX, ...)

Guarda anche

Riferimenti

Ulteriori letture e link esterni