gnuplot,多维数组,绘图,矩阵,

gnuplot, multidimensional array, plotting, matrix,

我是 GNUPLOT 的新手,我遇到了一个我不知道如何处理的问题。您身边的任何帮助将不胜感激。问题是:

我有两个文件,比如 "A.dat" 和 "B. dat"。两者都是多维数组数据。确切地说,

A.dat 有 1000 行和 100 列。令行索引为 i 从 1 到 1000,列索引为 k 从 1 到 100.

B.dat 有 1000 行和 100 列。令行索引为 i 从 1 到 1000,列索引为 k 从 1 到 100

我想要一个二维图,里面一共有k条曲线,100条曲线!

因此,给定的k曲线绘制坐标轴,其X坐标分别来自A数据,Y坐标分别来自B数据。

所以应该形成一条k=50的曲线,其x值为A.dat对应的第50列值,y值为B.dat对应的第50列值。此外,由于总共有 100 条曲线,我希望有某种色标,比如,k=1 是紫色,k =100 是红色。

知道如何实现吗?

为了绘制数据,您必须在单个文件中包含 x 和 y 值。最简单的方法是使用例如命令行工具 paste(或者,如果您使用的是 Windows,请使用 Get ratio from 2 files in gnuplot 中提到的 paste.py 脚本)。然后你可以用

绘制它们
plot for [k=1:100] '< paste A.dat B.dat' using k:(column(k+100))

要获得彩色线条,您可以定义自定义调色板并将其与

一起使用
set palette defined (0 'red', 1 'dark-violet')
plot for [k=1:100] '< paste A.dat B.dat' using k:(column(k+100)):(k) linecolor palette with lines notitle