Comment diviser une colonne dans gnuplot?


10

J'ai un fichier de données gnuplot. Je voudrais le tracer, mais divisez chaque valeur de l’axe des x par n.

Puis-je le faire depuis gnuplot ou dois-je réécrire le fichier de données?


Cette opération est communément appelée "mise à l'échelle", peut-être que ce mot mérite d'être dans le titre?
Dmitry Grigoryev Le

Réponses:


23

En supposant que les xvaleurs se trouvent dans la première colonne du fichier 'test.dat'et que les yvaleurs se trouvent dans la deuxième colonne du même fichier, vous pouvez écrire:

plot 'test.dat' using ($1/n):($2)

Consultez le manuel pour plus d'informations et des exemples sur le 'using'mot clé.

Notez que cela ne changera pas les valeurs de votre fichier de données 'test.dat'. Si vous préférez réécrire le fichier de données, vous pouvez le faire avec awk. Par exemple:

awk '{print $1/n,$2}' test.dat > testnew.dat

remplacera les xvaleurs de la première colonne de test.datavec x/net générera un nouveau fichier appelé testnew.dat.


Soumis une modification pour réparer un lien brisé vers la dernière version HTML du manuel. Notez également que les manuels sont uniquement disponibles au format PDF dans les versions récentes. gnuplot.info/documentation.html
Asa

On peut même diviser les valeurs de certaines colonnes:plot "path/to/data.dat" using 1:($5/$3) with lines
Dohn Joe
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.