我的程序中有一些不同配置的运行时数据,想要绘制哪些配置占用了多少时间。我被告知要用gnuplot这样做,但我以前从未使用过它。
我的输入文件格式为:x轴的范围为[2; 24],y范围为[0:50](这些是秒),z范围从1000000到8000000。 / p>
#X Z Y
2;1000000;2.868927
2;2000000;3.424788
2;3000000;4.678282
2;4000000;4.668475
2;5000000;5.202231
2;6000000;6.911772
2;7000000;6.984136
2;8000000;7.976616
4;1000000;1.918312
4;2000000;2.530352
4;3000000;3.704574
4;4000000;3.744970
4;5000000;4.622870
4;6000000;5.390530
4;7000000;6.733730
4;8000000;7.556841
...
更新:我更改了pm3d的输入文件,因此新的输入文件如下:
#X Y Z
2 1000000 2.868927
2 2000000 3.424788
2 3000000 4.678282
2 4000000 4.668475
2 5000000 5.202231
2 6000000 6.911772
2 7000000 6.984136
2 8000000 7.976616
4 1000000 1.918312
4 2000000 2.530352
4 3000000 3.704574
4 4000000 3.744970
4 5000000 4.622870
4 6000000 5.390530
4 7000000 6.733730
4 8000000 7.556841
...
我尝试了一下,从一些页面上读到如何开始使用gnuplot,但我仍然不知道这个输入的最佳可视化效果。我的(更新的)gnuplot文件是:
set pm3d
set ticslevel 0
set isosample 40,40
set hidden3d
set xrange[2:24]
set zrange[0:50]
set yrange[1000000:8000000]
set xtics 2
set ztics 5
set ytics 1000000
show label
set view 45,20,1.0,1.5
splot "~/Schreibtisch/number1_input_fixed.dat" using 1:2:3 with lines
我的想法是有一个三维图,其中y轴指定运行时。通过这个图,人们可以通过寻找表面上的高/低点来看到好的和坏的配置。这是当前情节的图像
这种可视化是一个不错的选择吗?为了更好地可视化数据,我可以改进哪些方面?我几乎从未做过3D绘图,所以我不知道在这里可以改进什么。
答案 0 :(得分:1)
你可以尝试set pm3d map
,所以你有一个二维图,第三个维度是色标。在当前图中,z轴和色标都与相同的数量相关。通过使用地图,您应该更容易看到自己想要的内容。而不是看“表面上的高/低点,你可以看看不同的颜色来判断你的情况好坏。
查看可以使用的调色板:
http://gnuplot.sourceforge.net/demo/pm3dcolors.html
尽管我也喜欢3D图,但是带有色标的2D图或具有可变尺寸的点通常更好(恕我直言)。