我有两个盒须图,一个显示时间,另一个显示内存使用情况。请看下面:
盒须图显示时间使用情况:http: //goo.gl/jhYBXr
盒须图显示内存使用情况:http: //goo.gl/0Wvamh
无论如何在gnuplot中将这两者组合成一张图?理想情况下,我希望每个“X”条目并排放置两个盒须图。将有两个 Y 轴 - y1 显示时间,y2 显示不同范围的内存。
提前致谢。
我有两个盒须图,一个显示时间,另一个显示内存使用情况。请看下面:
盒须图显示时间使用情况:http: //goo.gl/jhYBXr
盒须图显示内存使用情况:http: //goo.gl/0Wvamh
无论如何在gnuplot中将这两者组合成一张图?理想情况下,我希望每个“X”条目并排放置两个盒须图。将有两个 Y 轴 - y1 显示时间,y2 显示不同范围的内存。
提前致谢。
由于您没有提供任何示例数据,因此我使用了 gnuplotcandlestick.dem
演示中的数据并假设您在第一列中有 JDK 编号:
2.1 1 1.5 2 2.4 4 6.
2.2 2 1.5 3 3.5 4 5.5
3.0 3 4.5 5 5.5 6 6.5
3.1 4 3.7 4.5 5.0 5.5 6.1
4.0 5 3.1 3.5 4.2 5 6.1
5.0 6 1 4 5.0 6 9
6.0 7 4 4 4.8 6 6.1
7.0 8 4 5 5.1 6 6.1
绘图完成如下:
绘制一个空图(使用linetype -3
,不绘制任何内容)并用于xticlabels
生成自定义 xtics。
绘制相对于 xtic 向左移动一点的时间使用情况的盒须
绘制相对于 xtic 向右移动一点的内存使用的盒须
为简单起见,这里我对时间和内存使用相同的数据,但您当然可以使用不同的数据文件和不同的y2range
and yrange
:
set boxwidth 0.2 absolute
set offset 0.5,0.5,0,0
set yrange[0:10]
set y2range[0:10]
set ytics nomirror
set y2tics
set ylabel 'time usage'
set y2label 'memory usage'
set xlabel 'JDKs'
set key left
plot 'data.txt' using 2:4:xticlabels(1) linetype -3 notitle,\
'' using ($2-0.15):4:3:7:6 with candlesticks linetype 1 title 'Quartiles, time' whiskerbars,\
'' using ($2-0.15):5:5:5:5 with candlesticks linetype -1 linewidth 2 notitle,\
'data.txt' using ($2+0.15):4:3:7:6 with candlesticks linetype 2 axes x1y2 title 'Quartiles, memory' whiskerbars,\
'' using ($2+0.15):5:5:5:5 with candlesticks linetype -1 linewidth 2 axes x1y2 notitle
这给出了: