使用gnuplot根据列值绘制多个图形
我有以下数据,我不想使用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结尾的行,并绘制结果。如
#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上的管道可能有其他语法,但我不确定。可能存在重复的