2013-09-26 45 views
1

我想创建一个刻度为-20(中间位置)的麦克风极坐标模式图,输出为+5,步长为5。我发现了类似的代码,但是没有任何可以让尺度变成负面的代码。然后需要将多个模式添加到覆盖几个不同频率的图上,我有度数值(0-360)和相应的dB值(-25 - +5)。在gnuplot中创建一个麦克风极坐标模式图

这是剧情应该是什么样子(虽然略有不同的尺度):

polar_pattern_plot

我发现这个最接近gnuplot的是在这里:How to get a radial(polar) plot using gnu plot?

这也许可以修改以适应我的需求?

我还想在剧情的顶部找到0度,而不是在右边。我是新使用gnuplot,所以我不是特别熟悉它的代码,所以我很难修改代码,并取得了很大的成功(迄今为止)。

+0

我想这可以修改,以适应您的需求。但我不知道麦克风极性模式应该是什么样子,也许您可​​以添加示例图像,在尝试修改链接问题代码时遇到问题的解释。 – Christoph

+0

无法访问图像:403禁止。你有一个数据集,想绘制你指定的等级的轮廓?所有可能的范围当然可以是负面的! (除了在logscale时)。看看问题[gnuplot轮廓线颜色:设置样式线和设置线型不工作](http://stackoverflow.com/a/18881265/2604213)和[gnuplot二维极坐标图与3D数据集热图 - 可能吗? ](http://stackoverflow.com/q/18792461/2604213)。 – Christoph

+0

这是另一个链接http://commons.wikimedia.org/wiki/File:Polar_pattern_cardioid.png – user2819687

回答

1

所以你想绘制一个极性函数,例如r(theta) = 1 + sin(theta)

绘图功能是很容易的,只要做

set polar 
plot 1+sin(t) 

一个简单的极坐标可以

set grid polar 

绘制,但具有raxisrtics在不同的位置比在那里你通缉。指定自定义标签并不是问题。但角标签不受支持,因此您需要手动设置它们。而边界和其他轴和抽动必须是未设置的。

要获得同样的图像,你表明,使用下面的脚本:

set terminal pngcairo size 700,600 font ',10' 
set output 'cardioid.png' 

set angle degree 
set polar 
set size ratio 1 
set tmargin 3 
set bmargin 3 

set style line 11 lc rgb 'gray80' lt -1 
set grid polar ls 11 

unset border 
unset xtics 
unset ytics 

r=1 
set rrange [0:r] 
set rtics 0.166 format '' scale 0 
set label '0°' center at first 0, first r*1.05 
set label '180°' center at first 0, first -r*1.05 
set label '90°' right at first -r*1.05, 0 
set label '270°' left at first r*1.05, 0 

set for [i=1:5] label at first r*0.02, first r*((i/6.0) + 0.03) sprintf("%d dB", -30+(i*5)) 
unset raxis 

plot 0.5*(1+sin(t)) linewidth 2 t '' 

有了结果:

enter image description here

,其中包括一些偏移量的标签,这取决于终端,画布大小和字体大小。所以你可能需要调整它们。

为了给角标签留出足够的空间,我必须稍微增加顶部和底部边距(此处为3个字符高度)。它们不包含在自动保证金计算中,因为它们不属于轴。

1

不幸的是Christoph的回答是错误的。

您可以看到,如果您检查曲线曲线穿过5db圆的位置。

什么应被绘制是

20*log10(A+B*cos(t)) 

其中A+B = 1A - B确定(标称)指向性图案。

第一个图似乎是A=B=0.5,它使心形图案。

+0

是的,你是对的。我得到了缩放本身的错误。 – Christoph

+0

不,你没有得到一个缩放错误,除非对数转换被认为是缩放。 –

+0

我认为真实和更一般的问题是或应该是: 如何设置一个极坐标图,其中raxis范围(rrange?)来自某个负值(-25,-90,无论)在一个小距离从圆的中心到外边缘的0。 应该有一个从最负值延伸到外边缘/ 0的极坐标网格。 线程启动图正是这种情节。 –