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?

utilisateur13798
la source
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.

mrucci
la source
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