Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.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
Linux 通过分组列使用gnuplot进行多个绘图_Linux_Plot_Gnuplot_Octave - Fatal编程技术网

Linux 通过分组列使用gnuplot进行多个绘图

Linux 通过分组列使用gnuplot进行多个绘图,linux,plot,gnuplot,octave,Linux,Plot,Gnuplot,Octave,我有一个模式为“对象参数output1 output2……outputk”的数据文件。例如 A 0.10.20.43 0.81 0.60 A 0.20.1 0.42 0.83 0.62 A 0.30.50.48 0.84 0.65 B 0.1 0.1 0.42 0.83 0.62 B 0.2 0.1 0.82 0.93 0.61 b0.30.50.480.340.15 我想创建多个绘图,每个绘图对应一个对象,x轴是参数,序列是输出。目前,我已经编写了一个python脚本,它将每个对象的行转储到

我有一个模式为“对象参数output1 output2……outputk”的数据文件。例如

A 0.10.20.43 0.81 0.60
A 0.20.1 0.42 0.83 0.62
A 0.30.50.48 0.84 0.65
B 0.1 0.1 0.42 0.83 0.62
B 0.2 0.1 0.82 0.93 0.61
b0.30.50.480.340.15


我想创建多个绘图,每个绘图对应一个对象,x轴是参数,序列是输出。目前,我已经编写了一个python脚本,它将每个对象的行转储到不同的文件中,然后调用gnuplot。有没有更优雅的方式来描绘它

您正在寻找以下内容:

plot 'data.txt' using (strcol(1) eq "A" ? $2 : 1/0):4 with line
其结果是:

如果要为每个对象使用创建打印:

do for [object in "A B"] {
  reset
  set title sprintf("Object %s",object)
  plot 'data.txt' using (strcol(1) eq object ? $2 : 1/0):4 notitle with line
  pause -1
}
只需按
Enter
,即可进行下一次绘图。
当然,您也可以在文件中导出这些绘图。

这只会为对象“A”创建一个绘图。不适用于所有对象。请再次参考
do循环的答案。也可以使用嵌套循环。是否要打印某个对象的所有列?输出1与参数、输出2与参数的每种组合对应一行。。。输出与参数?您知道列数吗,还是应该自动确定?在任何情况下,您都可以动态地进行处理,而不是将其保存到临时文件中:
plot'
,或
plot'