在gnuplot上绘制10行sof 1000值

在gnuplot上绘制10行sof 1000值,gnuplot,Gnuplot,我有一个10行的数据文件,每行有1000个值,我正试图用这个脚本绘制这些值 #!/usr/bin/gnuplot -persist plot "data.dat" using [1:1000] title "" with lines 但是我得到了这个错误 plot "data.dat" using [1:1000] title "" with lines ^ "./plot.sh", line 3: invalid expression 如何

我有一个10行的数据文件,每行有1000个值,我正试图用这个脚本绘制这些值

#!/usr/bin/gnuplot -persist

 plot "data.dat" using [1:1000] title "" with lines
但是我得到了这个错误

plot "data.dat" using [1:1000] title "" with lines
                      ^
"./plot.sh", line 3: invalid expression 

如何确定从第一个值到1000个值的间隔?我无法为每一行设置不同的随机clor?

正如@vaettchen指出的,gnuplot需要列中的数据,而绘制行并不简单。所以,最好是将数据进行转置。不幸的是,gnuplot没有转置数据的功能。因此,您必须使用外部工具来转换数据

尽管如此,如果您的数据是10行,每行有1000个值,即一个严格的10x1000矩阵,那么您可以只使用gnuplot(见下文)。 但是,如果您的数据不是严格的矩阵,例如,一行有多个或少个值,或者一个值缺少以下方法,则无法使用

下面的示例(仅5行,每行7个值)演示了打印列和打印行

### plotting columns and rows
reset session
set colorsequence classic

$Data <<EOD
11  12  13  14  15  16  17
21  22  23  24  25  26  27
31  32  33  34  35  36  37
41  42  43  44  45  46  47
51  52  53  54  55  56  57
EOD

# get the number of rows
stats $Data u 0 nooutput
RowCount = STATS_records

# do the plot
set multiplot layout 1,2
    set title "Plotting columns"
    set xlabel "Row no."
    set xtics 1
    # plot all columns from 1 to *(=autodetection)
    plot for [i=1:*] $Data u ($0+1):i w lp pt 7 not

    set title "Plotting rows"
    set xlabel "Column no."
    # plot all rows
    plot for [i=0:RowCount-1] $Data matrix u ($1+1):0 every :::i::i w lp pt 7 not
unset multiplot
### end of code
###打印列和行
重置会话
设置颜色序列经典
$Data(1)
使用
无法使用方括号
[
,这是您遇到的错误。(2)gnuplot希望数据以列形式出现,而不是以行(行)形式出现。是否有机会以长(非宽)格式获取数据?