【发布时间】:2017-03-03 07:04:58
【问题描述】:
我想要什么:
echo {0..2} | gnuplot --persist -e "f='{OUTPUT FROM ECHO}'" myplot.plg
0 1 2
文件 myplot.plg:
print f
#plot for [fi in f] fi.".dat" using 1 w l title sprintf(fi)
使用:
echo "python sim.py > "{0..2}".dat &" | bash -
echo "node sim.js > "{0..2}".dat &" | bash -
echo {0..2} | gnuplot --persist -e {Stack Overflow Magic?} myplot.plg
我们的目标是同时运行这个 sim 的多个实例(不同的初始条件),使用 echo 创建命令,& 分叉进程,并 bash 运行它。模拟完成后,我想在一个图中显示所有图。例如:情节 {0..100}.dat nolegend
【问题讨论】:
-
我认为没有真正的理智方法可以做到这一点。上次我尝试(多年前)时,我想我最终为每次运行创建了一个 here 文档,并将其作为脚本传递给 Gnuplot,IIRC。
-
如果你有 Python,如果你只需要基本的绘图,Matplotlib 会更通用。
-
@tripleee:以前没有使用过 gnuplot,但是在其中一个标志中运行命令替换语法,
f在这里不起作用? -
它不是特定于 python 的,这只是一个示例用例。我设法让它与 xargs 一起工作,我对它的优雅感到满意。