- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想绘制一个我使用笛卡尔坐标在 3D 中作为表面绘制的图,并将其视为 POLAR 坐标中的 2D 热图。这样做的原因是我正在该坐标系中获取有关系统的数据。我只找到了一些相关的例子,但我在试图让它与我的数据一起工作时陷入困境。我目前正在使用矩阵格式,如果这有助于图表工作,我可以重新格式化数据集。
数据是在扬声器上进行的 SPL 测量。麦克风放置在固定距离(例如固定半径)处,并在整个扬声器水平周围每 10 度进行一次测量。 SPL 测量值是作为频率函数获得的,20Hz 到 20kHz。
我想使用 gnuplot 创建一个二维极坐标图。频率将绘制为半径,围绕扬声器的角度将是角度,“高度”将是 SPL 级别。这应该会生成一个表面,但是,我想创建一个热图 pm3d,然后从上面查看(例如 View 0,0)或作为 2D 图。我还需要添加显示 SPL 间隔的等高线,并将其叠加在热图上。
我在这里发现了笛卡尔坐标类似的东西:
http://gnuplot-tricks.blogspot.com/2009/07/maps-contour-plots-with-labels.html
当我尝试将极坐标用于最终 2D 图的这种方法时,我收到一条错误消息,指出极坐标图不支持“带图像”选项。有人可以尝试这个或确认这一点吗?
我已经能够使用 splot 将我的极坐标数据绘制为 3D 中的热图 + 等高线,并从正上方查看(设置 View 0.0)。如果我首先将现有的极坐标数据转换为笛卡尔坐标,我可能会得到类似于此网页中显示的内容:
how to create a 3d polar graph with gnuplot
我也可以从上面查看,但我想添加极坐标网格并有角度和半径的标签。我是否必须手动执行此操作,还是可以使用 multiplot 来覆盖 2D 网格和从 0.0 开始查看的 3D 绘图?
我不知道如何解决这个问题。任何关于采取什么方向的建议将不胜感激。
-查理
最佳答案
image
绘图仅适用于均匀分布的矩形网格,就像排列任何位图图像一样。否则你必须使用 splot
与 pm3d
.set grid polar
仅适用于 2D,因此您必须使用 multiplot
用极坐标网格覆盖您的热图。这是一个相当长的示例,向您展示它是如何工作的:
reset
set terminal pngcairo size 800,800
set output '3d-polar.png'
set lmargin at screen 0.05
set rmargin at screen 0.85
set bmargin at screen 0.1
set tmargin at screen 0.9
set pm3d map
unset key
set multiplot
# plot the heatmap
set parametric
set isosamples 500
unset border
unset xtics
unset ytics
set angles degree
r = 6
set urange[0:r] # radius
set vrange[0:360] # angle
set xrange[-r:r]
set yrange[-r:r]
set colorbox user origin 0.9,0.1 size 0.03,0.8
splot u*cos(v), u*sin(v), (cos(v)*besj0(2*u))**2
# now plot the polar grid only
set style line 11 lc rgb 'white' lw 2
set grid polar ls 11
set polar
set rrange[0:r]
unset raxis
set rtics format '' scale 0
unset parametric
set for [i=0:330:30] label at first (r+0.35)*cos(i), first (r+0.35)*sin(i)\
center sprintf('%d', i)
plot NaN w l
unset multiplot
set size ratio 1
,因为 2D 和 3D 绘图的边距不同,即使您指定了一些绝对边距。因此,我设置了一个方形 Canvas 大小(终端选项 size 800,800
),并设置了适当的绝对边距。 unset rtics
因为那样网格就会消失。 0
重叠。标签。 NaN
只绘制网格 关于带有来自 3D 数据集的热图的 gnuplot 2D 极坐标图 - 可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18792461/
我想要类似于以下伪代码的东西: while input is not None and timer = 5: print "took too long" else: print inp
如何将 MainEngine Observable 转换为 Cold?来自这个例子: public IObservable MainEngine { get
自从手表被发明以来,表盘的方圆之争就始终没有停下来过,在漫长的岁月中,无论是方形还是圆形表盘,人们都为其寻找到足够多的设计元素,让其肆意成长,这种生机与活力后来也延续到了智能手表上,在2014年,这
我正在学习 CUDA,试图解决一些标准问题。例如,我正在使用以下代码求解二维扩散方程。但我的结果与标准结果不同,我无法弄清楚。 //kernel definition __global__ void
我的 Web 应用程序使用 native dll 来实现其部分功能(其位置在 PATH 中提供)。一切正常,直到我对 WAR 进行更改并且 JBoss 热部署此 WAR。此时dll已经找不到了,需要手
我看到这个问题here 。这是关于实现每个发出的项目的延迟。这是根据accepted answer如何实现的: Observable.zip(Observable.range(1, 5) .g
我最近一直在进行冷迁移...这意味着我无法在进行迁移时从应用程序级别读取/写入数据库(维护页面)。 这样就不会因为更改结构而发生错误,而且如果负载很大,我也不希望 mysql 在迁移过程中崩溃。 我的
我是一名优秀的程序员,十分优秀!