How do I divide one column in gnuplot?

11

4

I have gnuplot data file. I would like to plot it, but divide every value in the x-axis by n.

Can I do this from within gnuplot, or do I have to rewrite the data file?

user13798

Posted 2010-02-13T00:52:31.890

Reputation: 361

This operation is commonly known as "scaling", maybe that word merits to be in the title? – Dmitry Grigoryev – 2015-06-02T15:06:06.170

Answers

24

Assuming that the x values are in the first column of the file 'test.dat' and the y values are in the second column of the same file, then you can write:

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

See the manual for more information and examples on the 'using' keyword.

Note that this will not change the values of your data file 'test.dat'. If you prefer to rewrite the data file, you can do it using awk. For example:

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

will substitute the x values in the first column of test.dat with x/n and will generate a new file called testnew.dat.

mrucci

Posted 2010-02-13T00:52:31.890

Reputation: 8 398

Submitted an edit to fix a broken link to the last HTML version of the manual. Also note that the manuals are only available as PDF in recent versions. http://www.gnuplot.info/documentation.html

– Asahiko – 2014-10-03T20:50:37.507

We can even divide the values of certain columns: plot "path/to/data.dat" using 1:($5/$3) with lines – Dohn Joe – 2018-12-05T14:00:55.467