我使用gnuplot绘制CPU和GPU上测量的执行时间,具体取决于数据大小。所以我有两个文件,其中包含执行时间。绘制它们是直截了当的。
set title "CPU vs GPU"
set xlabel "Number of Particles (* 10'000)"
set ylabel "Time in Microseconds"
plot "cpuTimes.txt" title "CPU" with linespoints, \
"gpuTimes.txt" title "GPU" wit
可以在此处找到结果图:1
我尝试使用xtics
但是它不会将x轴移动到1开始,而只是在1处开始刻度。我如何移动x轴使其从1开始并结束于50?
更新
下面的数据文件cpuTimes.txt
64780
129664
195490
266697
327871
391777
459150
517999
582959
647984
717377
790415
830869
900475
959599
1026041
1092899
1156022
1297471
1286325
1349227
1415936
1482857
1539580
1607389
1673436
1737098
1801568
1874431
1935975
2006892
2053077
2129867
2195117
2254467
2314478
2373546
2435416
2506850
2587302
2625556
2674799
2758387
2820720
2896794
2953550
3053817
3089501
3170513
3271537
答案 0 :(得分:10)
xtics
仅用于“标记”x轴。您正在寻找的是某种“数据操纵”。我建议像这样使用using
:
plot "cpuTimes.txt" u ($0+1):1 t "CPU" w lp, \
"gpuTimes.txt" u ($0+1):1 t "GPU" w lp
要使绘图结束为50,有两种方法:
您可以使用set xrange [1:50]
或
plot [1:50] "cpuTimes.txt" u ($0+1):1 t "CPU" w lp, \
"gpuTimes.txt" u ($0+1):1 t "GPU" w lp
您需要包含every
,如下所示:
plot "cpuTimes.txt" u ($0+1):1 every 1::::50 t "CPU" w lp, \
"gpuTimes.txt" u ($0+1):1 every 1::::50 t "GPU" w lp
有关文档的详细信息,请参阅every。
答案 1 :(得分:1)
我暂时没有使用gnuplot,但我相信你可以使用set xrange
来调整绘制的内容。
在您的情况下,命令是:
set xrange [ 1 : 50 ]
答案 2 :(得分:0)
在绘图命令中给出一个轴范围:
plot [1:50] "cpuTimes.txt"