Gnuplot:将 row-wise 和命名数据绘制为不同颜色和标题的线束
Gnuplot: Plot row-wise and named data as bundle of differently colored and titled lines
我正在尝试绘制一组当前存储的图表:
MyFile.txt
"ID01" 1 2 3 4 5
"ID02" 3 4 5 6 7 8 9
"ID03" 4 3 1 2 3 4
这样一行标题为 "ID01" 的行仅显示第一行,另一行标题为 "ID02" 等等。如果线条以不同颜色显示,则加分。非常感谢任何帮助!
我到这里为止:
plot for[blockIndex=0:3] "MyFile.txt" matrix index blockIndex every ::1 w lp title "".blockIndex
如果在数据文件的行之间插入空行(我可以这样做),则会生成下图。
剩下的问题是
a) 我绝对没有让 ID-String 显示为标题(columnheader 显然不能很好地使用矩阵模式)。我目前使用块索引,它可以作为权宜之计,但不是完成脚本的选项。我确实可以选择以不同方式排列数据文件中的 ID-Strings(即,根据列标题分隔注释行,...)——唯一的要求是所有行数据都应该在一个文件中。
b) 我收到大量 "matrix contains missing or undefined value" 警告,这大大减慢了在屏幕上显示图像的速度。
这不是 gnuplot 用来保存数据的方式。您的方法还有其他问题,即如果行具有不同数量的点等,您实际上没有矩阵。处理此类数据的 gnuplot 方法是用 two[ 分隔属于不同行的点 空行,并在前面加上相应的表头:
"ID01"
1
2
3
4
5
"ID02"
3
4
5
6
7
8
9
"ID03"
4
3
1
2
3
4
然后用
绘制数据
set key autotitle columnheader left
plot for [i=0:2] 'MyFile.txt' using 0:1 index i with linespoints
或者,如果您喜欢更紧凑的表示,则可以将每一行保存在一列中。但是你必须确保,较短的列用空值填充。对于那个应该使用例如逗号作为字段分隔符:
"ID01","ID02","ID03"
1,3,4
2,4,3
3,5,1
4,6,2
5,7,3
,8,4
,9,
并绘制
set key autotitle columnheader
set datafile separator ','
plot for [i=1:3] 'MyFile.csv' using 0:i with linespoints
我正在尝试绘制一组当前存储的图表:
MyFile.txt
"ID01" 1 2 3 4 5
"ID02" 3 4 5 6 7 8 9
"ID03" 4 3 1 2 3 4
这样一行标题为 "ID01" 的行仅显示第一行,另一行标题为 "ID02" 等等。如果线条以不同颜色显示,则加分。非常感谢任何帮助!
我到这里为止:
plot for[blockIndex=0:3] "MyFile.txt" matrix index blockIndex every ::1 w lp title "".blockIndex
如果在数据文件的行之间插入空行(我可以这样做),则会生成下图。
剩下的问题是
a) 我绝对没有让 ID-String 显示为标题(columnheader 显然不能很好地使用矩阵模式)。我目前使用块索引,它可以作为权宜之计,但不是完成脚本的选项。我确实可以选择以不同方式排列数据文件中的 ID-Strings(即,根据列标题分隔注释行,...)——唯一的要求是所有行数据都应该在一个文件中。
b) 我收到大量 "matrix contains missing or undefined value" 警告,这大大减慢了在屏幕上显示图像的速度。
这不是 gnuplot 用来保存数据的方式。您的方法还有其他问题,即如果行具有不同数量的点等,您实际上没有矩阵。处理此类数据的 gnuplot 方法是用 two[ 分隔属于不同行的点 空行,并在前面加上相应的表头:
"ID01"
1
2
3
4
5
"ID02"
3
4
5
6
7
8
9
"ID03"
4
3
1
2
3
4
然后用
绘制数据set key autotitle columnheader left
plot for [i=0:2] 'MyFile.txt' using 0:1 index i with linespoints
或者,如果您喜欢更紧凑的表示,则可以将每一行保存在一列中。但是你必须确保,较短的列用空值填充。对于那个应该使用例如逗号作为字段分隔符:
"ID01","ID02","ID03"
1,3,4
2,4,3
3,5,1
4,6,2
5,7,3
,8,4
,9,
并绘制
set key autotitle columnheader
set datafile separator ','
plot for [i=1:3] 'MyFile.csv' using 0:i with linespoints