使用 gnuplot 绘制获得的权力

Posted

技术标签:

【中文标题】使用 gnuplot 绘制获得的权力【英文标题】:Plot received powers with gnuplot 【发布时间】:2013-10-09 09:16:30 【问题描述】:

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

其实这是我的脚本:

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

【问题讨论】:

【参考方案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。

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

【讨论】:

这正是我想要的。非常感谢!

以上是关于使用 gnuplot 绘制获得的权力的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Gnuplot 中绘制噪声值的平均值

使用 gnuplot 绘制宽度图

GNUPlot绘制曲线

gnuplot绘制曲线图

如何用 Torch gnuplot 绘制两条线?

如何在 C++ 中使用 GNUplot 绘制图形