我想在不同的无线频道上绘制接收功率。对于每个通道,我有三个值,我想将它们绘制成堆叠。
实际上,这是我的剧本:
set boxwidth 0.6 relative
set ylabel "dBm"
set xlabel "Channel"
set style fill solid
set key off
plot "RR1" using 1:2 with boxes, "RR2" using 1:2 with boxes, "RR3" using 1:2 with boxes
问题在于,由于它们是负值(dBm),因此它从0到它找到的值进行绘制,因此最高功率位于顶部。我想绘制一个有点反转的图像,蓝色框从底部开始到达到它的值,而其他两个值则相同。
有什么想法吗?
我的数据看起来像这样
21.0 -93.9207
22.0 -92.241
23.0 -93.452
答案 0 :(得分:1)
一种可能性是使用boxxyerrorbars
绘图风格:
reset
set ylabel "dBm"
set xlabel "Channel"
set style fill solid
set key off
set style data boxxyerrorbars
set xtics 1
set autoscale xfix
set offset 0.5,0.5,0,0
ylow = -100
plot for [i=3:1:-1] sprintf("RR%d", i) using 1:(0.5*($2+ylow)):(0.3):(0.5*($2-ylow)) lt i
在这里,我使用固定的较低y
- 值,但您也可以使用stats
从数据文件中提取它,并进行其他调整。
在using
语句中,第二列给出了框中心,它是实际y
- 值的平均值 - 下边界,第三列是x
- delta(实际框宽度的一半),第四列是y
- delta。
使用更多数据值,可以得到: