Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gnuplot 将不同块中的数据相加_Gnuplot - Fatal编程技术网

Gnuplot 将不同块中的数据相加

Gnuplot 将不同块中的数据相加,gnuplot,Gnuplot,这里是交易-我有一个文件,看起来像这样: n_blocks n_rows title1 data1 data2 data3 data4 data5 data6 data7 data8 data9 data1 data2 data3 data4 data5 data6 data7 data8 data9 data1 data2 data3 data4 data5 data6 data7 data8 data9 . . . title2 data1 data2 data3 data4 data5 d

这里是交易-我有一个文件,看起来像这样:

n_blocks n_rows
title1
data1 data2 data3 data4 data5 data6 data7 data8 data9
data1 data2 data3 data4 data5 data6 data7 data8 data9
data1 data2 data3 data4 data5 data6 data7 data8 data9
.
.
.
title2
data1 data2 data3 data4 data5 data6 data7 data8 data9
data1 data2 data3 data4 data5 data6 data7 data8 data9
data1 data2 data3 data4 data5 data6 data7 data8 data9
.
.
.
END OF THE DATA
第一行包含两个数字-块数和每个块内的行数。在每个块之前是一条表示块标题的线,然后每个块由n_行组成,每行由9个数据点组成。然后文件以“文件结束”结尾

我想做的第一件事是,为每个块绘制第1列和第8列,并使用适当的标题。我已经解决了如何使用命令
plot“data.txt”every:n\u blocks使用1:8绘制特定数量的块的数据,但没有解决如何从文本文件的第一行自动提取块的数量,也没有解决如何从每个块之前提取标题的问题

我需要做的第二件事是将所有块的总和绘制在一起,因此对于第一列中的每个点,我将在每个块的第8列中绘制相应数据点的总和。例如,绘制的第一个数据点将是每个块第一行第8列中所有条目的总和,绘制的第二个数据点将是每个块第二行第8列中条目的总和,依此类推

我所要求的有多少是可能的?如果有必要,我可以考虑重新格式化数据文件,但我不想这样做,因为我没有编写生成这些文件的程序。

我假设您的“数据块”按照gnuplot的要求由两个空行分隔。在这种情况下,以下命令将使用块的初始行作为标题,一次提取并绘制一个块:

 plot for [i=0:*] 'blocks.dat' skip 1 index i using 1:5 title columnhead
对于此特定任务,最好使用“索引”选择器,而不是“每个”选择器。从第一行中提取信息并不容易。另一方面,绘图不需要这些信息。上面显示的命令通过“跳过1”忽略它


求和也是可能的,但我不理解您对要求和的术语或要生成的绘图的描述,因此我无法提供求和的示例。

,我的意思是,如果我的数据是这样的:
32
block1
1a
2a
block2
1b
block3
1c
2c
数据的末尾
,那么我想绘制点(1,a+b+c)和(2,A+B+C)。每个块中的x坐标是相同的,我想y坐标是每个块中相应值的总和。抱歉,若不清楚,我想我弄错了标记。我建议你们分两次进行。第一次使用“统计”命令来查找和保存总和。第二步将使用“plot”命令来绘制保存的总和。“stats”的语法基本上与“plot”的语法相同,只要选择要统计的数据块。