使用for循环绘制gnuplot中列中数字的倒数

Plotting the inverse of the numbers in columns in gnuplot with for loop

我想根据第一列绘制多列中数字的倒数:

plot for [i=1:30] 'file' using 1:(1/i) w lp

这导致所有 y 值都为零。当我删除 for 循环并选择要绘制的列时,它会起作用:p 'file' u 1:(1/)。我做错了什么?

括号内的 i 只是一个整数,你总是得到零。要访问表达式中列的值,请使用 column(i):

plot for [i=1:30] 'file' using 1:(1/column(i)) w lp

</code> 是 <code>column(4) 的快捷方式。要更好地理解这一点,请查看

i = 2
plot 'file' u 1:i, '' u 1:(i)