如何更改绘图时如何更新绘图上的数值

问题描述 投票:0回答:1

我正在尝试在情节中出现(一次一个)填充圆圈的情节上添加时间信息。所以它看起来像一个充满圆圈的电影在情节中移动。

我已经尝试过如下所示的简单Gnuplot代码和数据集。问题是从图中的第一列获取更新的时间信息“?。???”就像圆圈移动一样。

set terminal aqua 1
set size ratio -1
set style fill solid 
set ylabel "Y" 
set xlabel "X"
set label "Time=?.??? sec" at screen 0.7,0.8
do for [t=0:5] {plot [-.25:1.5] [-.25:1.5] "d.dat" every ::t::t u 1:2:(0.02) t "" w circles; pause 1.0}

并且数据集是:

# Time    x      y
 0.2000 0.0000 0.0000
 0.4000 0.2618 0.2588
 0.6000 0.5236 0.5000
 0.8000 0.7854 0.7071
 1.0000 1.0472 0.8660
 1.2000 1.3090 0.9659

我不知道如何将第一列的时间信息用于plot命令。

gnuplot
1个回答
1
投票

您可以使用绘图样式with labels并在某个坐标处绘制数据文件/数据块的时间,这里是(0):(1.4)

码:

### time as label
reset session

$Data <<EOD
# Time    x      y
 0.2000 0.0000 0.0000
 0.4000 0.2618 0.2588
 0.6000 0.5236 0.5000
 0.8000 0.7854 0.7071
 1.0000 1.0472 0.8660
 1.2000 1.3090 0.9659
EOD

set key left
set xrange [-.25:1.5]
set yrange [-.25:1.5]
set style fill solid 

do for [t=0:5] {
    plot $Data every ::t::t u 2:3:(0.02) w circles notitle, \
    '' u (0):(1.4):(sprintf("Time: %g",$1)) every ::t::t with labels notitle
    pause 1.0
}
### end of code

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.