Gnuplot 动画,如何将文本从数据文件打印到图形
Gnuplot animation, how to print text from data file to graph
我想绘制第 1 列和第 2 列,并从数据文件打印第 3 列,但是我找不到如何直接从数据文件读取到 x
或数组 x(n)
,基本上操作是这样的:
do for[j=0:n:1]{
unset label
x = #row j, column 3 of 'file-name.dat'
set label x at 2000, 4000 ...
plot 'file-name.dat' u 1:2 ....
}
你的问题不是很清楚。请始终提供示例数据。你的数据是什么样子的?你到底想绘制什么?您要绘制完整的第 1 列和第 2 列还是仅绘制 j
行?检查以下示例并检查 help every
和 help labels
.
代码:
### plotting labels for animation
reset session
set term gif animate delay 50
set output "SO70101046.gif"
$Data <<EOD
0 0 Time0
1 1 Time1
2 2 Time2
3 3 Time3
4 4 Time4
5 5 Time5
EOD
stats $Data nooutput # get the number of rows
N = STATS_records
set xrange[-1:6]
set yrange[-1:6]
do for [j=0:N-1] {
plot $Data u 1:2 every ::j::j w lp pt 7 title "Data", \
'' u (0):(5):3 every ::j::j w labels notitle
}
set output
### end of code
结果:
我想绘制第 1 列和第 2 列,并从数据文件打印第 3 列,但是我找不到如何直接从数据文件读取到 x
或数组 x(n)
,基本上操作是这样的:
do for[j=0:n:1]{
unset label
x = #row j, column 3 of 'file-name.dat'
set label x at 2000, 4000 ...
plot 'file-name.dat' u 1:2 ....
}
你的问题不是很清楚。请始终提供示例数据。你的数据是什么样子的?你到底想绘制什么?您要绘制完整的第 1 列和第 2 列还是仅绘制 j
行?检查以下示例并检查 help every
和 help labels
.
代码:
### plotting labels for animation
reset session
set term gif animate delay 50
set output "SO70101046.gif"
$Data <<EOD
0 0 Time0
1 1 Time1
2 2 Time2
3 3 Time3
4 4 Time4
5 5 Time5
EOD
stats $Data nooutput # get the number of rows
N = STATS_records
set xrange[-1:6]
set yrange[-1:6]
do for [j=0:N-1] {
plot $Data u 1:2 every ::j::j w lp pt 7 title "Data", \
'' u (0):(5):3 every ::j::j w labels notitle
}
set output
### end of code
结果: