Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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,我有以下数据,我不想使用GNUPLOT绘制这些数据: #TIME #VALUE #SOURCE 1 100 A 1 88 B 2 115 A 2 100 B 3 130 A 3 210 B 我想画两条线,这取决于列#SOURCE的值。一行用于A和一行用于B。GNUPLOT是否可能实现这一点?如果是,如何实现 是否也可以根据列的时间绘制列值的总和?这意味着,对于#TIME中所有相等的条目,#VALUE中的值将相加 提前感谢,, Frank一种方法是使用grep定位以A或B结尾的行,并绘制结果。如

我有以下数据,我不想使用GNUPLOT绘制这些数据:

#TIME #VALUE #SOURCE
1 100 A
1 88 B
2 115 A
2 100 B
3 130 A
3 210 B
我想画两条线,这取决于列#SOURCE的值。一行用于A和一行用于B。GNUPLOT是否可能实现这一点?如果是,如何实现

是否也可以根据列的时间绘制列值的总和?这意味着,对于#TIME中所有相等的条目,#VALUE中的值将相加

提前感谢,,
Frank

一种方法是使用
grep
定位以
A
B
结尾的行,并绘制结果。如果您知道字符行将以以下形式结束,则可以在带有for循环的单个打印行中执行此操作:

plot for [s in 'A B'] sprintf("<(grep -v '%s$' data.dat)", s) u 1:2 w l

plot for[s in'A B']sprintf(“谢谢你的回答!因为我不知道源的名称,我修改了写入数据文件的例程。现在我只需为每个源(ValueA,ValueB,…)设置一列,并用[plot'file.csv'u 2:1 title'A',[file.csv'u 3:1 title'B',…另请参见如何提取列的唯一值的示例。plot for[s in'A B c d e f g']sprintf(“我已经在windows 5.0版本中测试了相同的功能,但我收到错误:无法管道数据…管道语法在windows中是否不同???我不确定在未安装
bash
grep
的windows上是否能工作(并使用
路径中的
grep
bash
运行
gnuplot
)。Windows上的管道可能有其他语法,但我不确定。可能存在重复的