我正在使用以下代码段从几个数据文件(snapshot_XXXX.dat)创建2D绘图
set terminal pngcairo
n=1000 # Number of snapshots
load 'color.pal'
# cbrange[-6:-2]
unset key
set style fill solid
set ylabel "Snapshot/Time"
# set yrange [0.5:n+0.5]
# set ytics 1 # manage it well in order to avoid black lines at the
borders
set xrange[0:2021]
set yrange[0:8]
# This functions gives the name of the snapshot file
snapshot(i) = sprintf("snapshot_%04d.dat", i)
plot for [i=1:n] './snapshots/'. snapshot(n+1-i) using 1:2:3 with boxes
linecolor palette
结果为:picture
快照看起来像
snapshot_0001.dat snapshot_0002.dat snapshot_0003.dat
1 1.0 0.0 1 1.0 0.0 1 1.0 0.0
2 1.5 0.0 2 1.5 0.0 2 1.5 0.0
3 2.0 0.5 3 2.0 0.7 3 2.0 0.7
4 2.5 1.0 4 2.5 1.5 4 2.5 1.5
5 3.0 0.5 5 3.0 0.7 5 3.0 1.1
6 3.5 0.0 6 3.5 0.0 6 3.5 0.7
7 4.0 0.0 7 4.0 0.0 7 4.0 0.0
8 4.5 0.0 8 4.5 0.0 8 4.5 0.0
9 5.0 0.0 9 5.0 0.0 9 5.0 0.0
当然这些都是假数据,因为原始文件太重了,无法添加到这篇文章中。我想在特定时间添加水平线(标记为SnapShot / TIME的轴)。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
这解决了我的问题
std::stringstream
非常感谢Christoph