Recherche…


Introduction

L'une des principales fonctionnalités de gnuplot est la possibilité de tracer des fichiers de données . Tracer un fichier de données est très simple avec gnuplot . En fait, une fois que vous avez ouvert le logiciel depuis le terminal, il vous suffit de numériser le plot 'file' pour obtenir un tracé automatique.

Tout d'abord, avant de tracer, vous devez être sûr d'être dans le même répertoire que le fichier de données, sinon vous obtiendrez éventuellement un warning .

Syntaxe

  • tracer le fichier de données en utilisant expression_colonne avec style

Tracer un seul fichier de données

Le plot commande par défaut de gnuplot (également uniquement p ) représente le jeu de données avec colonnes, sous la forme du fichier data_set.dat ci-dessous.

# 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

Comme vous pouvez le voir, vous pouvez écrire dans votre ensemble de données en notation à virgule flottante. Maintenant, tout est prêt pour faire le tracé de données: en tapant uniquement

plot "data_set.dat"

gnuplot produira un graphique dans votre destination de output . Les paramètres par défaut utiliseront les deux premières colonnes de votre fichier de données, respectivement x et y. Pour spécifier les colonnes à tracer, utilisez le spécificateur using

plot "data_set.dat" using 2:4

ce qui signifie "tracer le fichier en utilisant la colonne 2 comme X et la colonne 4 comme Y". Dans le cas où votre fichier de données est un fichier tridimensionnel, utilisez simplement la splot ad pour ajouter la colonne z

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

Il existe également des styles différents (voir la documentation gnuplot ou Sélection d'un style de traçage pour plus d'informations) pour tracer des points. Comme dit précédemment, le style par défaut est le point

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

qui tracera la même chose que si vous ne tapez pas with point . Un point utile pour le traçage des données est le linespoint qui est évidemment "lignes + points". PAR EXEMPLE:

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

point de ligne

Formes de tracé itération

Dans le cas où vous avez plusieurs colonnes et que vous voulez les tracer tous dans le même graphique juste passer à la plot en les séparant par une fonction tout argument que vous préférez, , :

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

Quoi qu’il en soit, il peut parfois y avoir trop de colonnes à écrire une par une. Dans ce cas, le résultat de la boucle for iteration est très utile:

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

qui donne la sortie

Parcelle itérée

En résumé, for itération, incrémentez la variable dans la boucle, dans ce cas, col , avec une étape décidée (si elle n'est pas spécifiée = 1). Par exemple, for [i = 0:6:2] , incrémente i de 0 à 6 en 2 étapes: i = 0, 2, 4, 6 . Toutes les valeurs (start, stop et increment) sont converties en valeurs entières.

* Grille

La grille est souvent utile pour tracer un ensemble de données. Pour ajouter un type de grille

set grid

Tracer plusieurs fichiers de données

Première méthode - Concaténation de chaînes

La méthode la plus simple pour tracer plusieurs fichiers de données consiste à insérer une boucle for dans la commande plot de gnuplot. En supposant que vous avez N fichiers nommés en séquence, c.-à-d.

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

Exécuter la commande

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

file_1.dat tous les fichiers entre file_1.dat et file_N.dat dans le même graphique.


Exemple avec trois fichiers de données

Tableau de jeux de données

Axes X Y-Axe file_1.dat Y-Axe fichier_2.dat Y-Axe file_3.dat
1 1 1 1
2 2 4 2
3 3 9 6
4 4 16 24
5 5 25 120

Commandes

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

La boucle commence par for [i = 1:3] "file_".i.".dat" et exécute la commande plot jusqu'à ce qu'elle atteigne i = 3 . Le .i. est le nombre concaténé.

title "file\_".i.".dat" a été écrit avec le \ pour que le symbole _ dans le nom des fichiers apparaisse comme un soulignement plutôt que comme un indice , et le spécificateur noenhanced est fondamental pour obtenir ce résultat .

Le résultat final est indiqué ci-dessous

L'exemple de parcelle


Deuxième méthode - Utilisation de la fonction sprintf

Un autre chemin à suivre consiste à utiliser la fonction sprintf qui fonctionne essentiellement comme le sprintf langage C. La bonne syntaxe, à partir de la documentation de gnuplot 5.1 est

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

Un bref exemple clarifiera chaque doute.

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow