Ricerca…


introduzione

Una delle principali caratteristiche utili di gnuplot è la possibilità di tracciare i file di dati . Tracciare un file di dati è davvero semplice con gnuplot , in realtà, una volta aperto il software dal terminale, è sufficiente digitare il comando plot 'file' per ottenere un grafico automatico.

Prima di tutto, prima di stampare, devi essere sicuro di trovarti nella stessa directory in cui si trova il file di dati, altrimenti alla fine riceverai un warning .

Sintassi

  • trama file di dati usando column_expression con stile

Traccia un singolo file di dati

Il plot comando gnuplot predefinito (anche solo p ) traccia il set di dati con le colonne, sotto forma del file data_set.dat sottostante.

# Prototype of a gnuplot data set
# data_set.dat
# X -   X^2 -    2*X -    Random 
0       0        0        5
1       1        2        15
1.4142  2        2.8284   1
2       4        4        30
3       9        6        26.46
3.1415  9.8696   6.2832   39.11
4       16       8        20
4.5627  20.8182  9.1254   17 
5.0     25.0     10.0     25.50
6       36       12       0.908

Come puoi vedere puoi scrivere nel tuo set di dati in notazione a virgola mobile. Ora tutto è pronto per tracciare i dati: digitando solo

plot "data_set.dat"

gnuplot produrrà un grafico nella destinazione di output . Le impostazioni predefinite useranno le prime due colonne del tuo file di dati, rispettivamente xey. Per specificare le colonne da tracciare usa lo specificatore using

plot "data_set.dat" using 2:4

che significa "traccia il file usando la colonna 2 come X e la colonna 4 come Y". Nel caso in cui il set di dati sia un file tridimensionale, basta usare splot ad aggiungere la z-column

splot "data_set.dat" using 1:2:3

Ci sono anche stili diversi (vedi documentazione gnuplot o Selezione di uno stile di tracciamento per ulteriori informazioni) per i punti di tracciamento. Come detto prima, lo stile predefinito è il point

plot "data_set.dat" using 1:4 with point

che traccerà lo stesso come se non si digiti with point . Uno stile utile per il linespoint dati è il punto di linespoint che è, ovviamente, "linee + punti". PER ESEMPIO:

plot "data_set.dat" using 1:4 with linespoint
# the abbreviated form is completely equivalent:
# p "data_set.dat" u 1:4 w lp

linespoint

Forme di tracciamento dell'iterazione

Nel caso si dispone di più colonne e si desidera tracciare tutti in uno stesso grafico semplicemente passare alla plot funzione di qualsiasi argomento si preferisce, separandoli con una , :

p "data_set.dat" u 1:2 w lp,\
    "data_set.dat" u 1:3 w lp,\
    "data_set.dat" u 1:4 w lp

Comunque a volte ci potrebbero essere troppe colonne per scrivere uno per uno. In questi casi la for iterazione risultati ciclo molto utile:

p for [col = 2:4] "data_set.dat" using 1:col w lp

che dà l'output

Trama iterata

Brevemente il for iterazione incrementare la variabile nel ciclo, in questo caso col , con passaggi deciso (se non specificato = 1). Ad esempio for [i = 0:6:2] incrementerà i da 0 a 6 in 2 passaggi: i = 0, 2, 4, 6 . Tutti i valori (start, stop e increment) vengono convertiti in valori interi.

* Grid

La griglia è spesso utile quando si traccia un set di dati. Per aggiungere un tipo di griglia

set grid

Tracciare più file di dati

Primo metodo - Concatenazione di stringhe

Il metodo più semplice per tracciare più file di dati è inserire un ciclo for all'interno del comando plot di gnuplot. Supponendo che tu abbia N file chiamati sequently, ie

file_1.dat
file_2.dat
file_3.dat
...
file_N.dat

Esecuzione del comando

plot for[i = 1:N] "file_".i.".dat" 

file_1.dat tutti i file tra file_1.dat e file_N.dat nello stesso grafico.


Esempio con tre file di dati

Tabella dei set di dati

X-Assi Y-Ax file_1.dat Y-Ax file_2.dat Y-Ax file_3.dat
1 1 1 1
2 2 4 2
3 3 9 6
4 4 16 24
5 5 25 120

comandi

set terminal postscript color noenhanced ##setting the term
set output "multiple_files.ps"

set key center ##legend placement

plot [1:5][1:120] \
    for [i = 1:3] "file_".i.".dat" \
    pointsize 1.3 linecolor i+4 \
    title "file\_".i.".dat" \
    with linespoint

Il ciclo inizia con for [i = 1:3] "file_".i.".dat" ed esegue il comando plot fino a raggiungere i = 3 . Il .i. è il numero concatenato.

title "file\_".i.".dat" è stato scritto con \ per far sì che il simbolo _ nel nome dei file appaia come carattere di sottolineatura piuttosto che come indice , e l' noenhanced è fondamentale per ottenere questo risultato .

Il risultato finale è mostrato sotto

La trama di esempio


Secondo metodo: utilizzo della funzione sprintf

Un altro possibile percorso da seguire è l'utilizzo della funzione sprintf che funziona fondamentalmente come lo sprintf linguaggio C. La sintassi corretta è la documentazione di gnuplot 5.1

sprintf("format", x, y, ...)

Un breve esempio chiarirà ogni dubbio.

file_name(n) = sprintf("file_%d.dat", n)
plot for[i = 1:N] file_name(i) title file_name(i)


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow