从 gnuplot 中的单个列读取复数

Read complex numbers from a single column in gnuplot

我想将存储在文件中的数据绘制成三列,如下所示:

316   0.662500024   180.382+137.860i
317   0.664285719   188.515+135.229i
318   0.666071415   196.834+131.997i
319   0.667857111   205.536+127.380i
320   0.669642866   213.829+122.105i
321   0.671428561   222.220+116.453i

第一列包含样本编号,所以我对它不是很感兴趣。第二列包含频率,第三列包含用 VNA 测量的复阻抗。 我想做的是拆分实部和复数部分以分别绘制它们,或者绘制复数幅度。

根据我在网上阅读的内容,我尝试了这样的事情: plot 'datafile.data' using (1000*):(sqrt(**2+**2)) '%lf %lf%lfi'* 但它不起作用,这并不奇怪,因为我是在盲人中这样做的...

感谢您的帮助

将命令更改为

plot 'datafile.dat' using (1000*):(sqrt(**2+**2)) '%lf %lf %lf%lfi'

您遗漏了一个在您的文件中出现的数字。即使您没有使用第一个数字,您 也必须 告诉 gnuplot。