gpt4 book ai didi

file - Gnuplot:暂停后如何绘制文件中的每一行

转载 作者:行者123 更新时间:2023-12-04 18:54:55 25 4
gpt4 key购买 nike

我有一个3列数据文件,我想使用splot来绘制相同的内容。
但是我想要的是gnuplot绘制第一行(以某种颜色表示红色),然后暂停0.3秒,然后继续绘制下一行(以另一种颜色绘制,而不以红色表示绿色),暂停0.3秒秒,然后前进到下一行。...依此类推。

任何帮助将不胜感激。

提前致谢

问候Pankaj

最佳答案

如果要制作动画,最好使用专用的工具(例如mplayer)。

使用gnuplot准备所有源图像(第一个绘制单行,第二个-绘制两行,等等),然后使用mplayer或convert(来自imagemagic)从源文件中生成avi或动画GIF。

您可以使用以下Shell片段来生成输入文件的部分副本,每个副本的行数都在增加。

file="your input file.dat"
lines=$(wc -l $file)
i=1
while [ $i -le $lines ] ; do
head -${i} ${file} > ${file%.dat}-${i}lines.dat
done

给定somefile.dat,这将产生文件“somefile-1lines.dat”,“somefile-2lines.dat”等。然后,您可以使用:
for f in *lines.dat ; do
gnuplot ... $f
done

将它们按顺序绘制。

如果我的假设是错误的,并且您真正想要的只是此暂停,那么您可以尝试进行设置,以便gnuplot将从stdin中获取数据,然后使用此scipt(将其命名为paused-input.sh)将输入文件与在每行之后暂停:
#!/bin/bash
while read l ; do
echo "$l"
sleep 1
done

然后像这样调用它:
(pause-input.sh | gnuplot ...) < somefile.dat

关于file - Gnuplot:暂停后如何绘制文件中的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/224617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com