2

我想绘制不同无线信道上的接收功率。对于每个通道,我有三个值,我想将它们堆叠起来。

实际上,这是我的脚本:

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
4

1 回答 1

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,第二列给出了box center,即实际y-value和下边界的均值,第三列是x-delta(实际box宽度的一半),第四列是y-delta。

有了更多的数据值,这给出了:

在此处输入图像描述

于 2013-10-09T09:54:37.417 回答