【发布时间】:2013-09-13 17:58:58
【问题描述】:
我想使用笛卡尔坐标绘制一个我在 3D 中作为表面绘制的图,并将其作为 POLAR 坐标中的 2D 热图查看。这样做的原因是我正在获取该坐标系中系统的数据。我只找到了一些相关的例子,但在试图让它与我的数据一起工作时遇到了困难。我目前正在使用矩阵格式,如果这有助于图表正常工作,我可以重新格式化数据集。
数据是在扬声器上进行的 SPL 测量值。麦克风位于固定距离(例如固定半径)处,并且在水平方向围绕整个扬声器每隔 10 度进行一次测量。 SPL 测量值是 20Hz 至 20kHz 频率的函数。
我想使用 gnuplot 创建一个 2D 极坐标图。频率将被绘制为半径,扬声器周围的角度将是角度,“高度”将是 SPL 级别。这应该会生成一个表面,但是,我想创建一个热图 pm3d,然后从上方(例如视图 0,0)或作为 2D 图查看它。我还需要添加显示 SPL 间隔的等高线并将其叠加在热图上。
我在这里找到了与笛卡尔坐标类似的东西: http://gnuplot-tricks.blogspot.com/2009/07/maps-contour-plots-with-labels.html 当我尝试将极坐标用于最终 2D 图的这种方法时,我收到一条错误消息,指出极坐标图不支持“带图像”选项。有人可以试试这个或确认一下吗?
我已经能够使用 splot 将我的极坐标数据绘制为 3D 中的热图+等高线,并从正上方查看(设置视图 0.0)。如果我首先将现有的极坐标数据转换为笛卡尔坐标,我可能会得到类似于此网页中显示的内容: how to create a 3d polar graph with gnuplot 我也可以从上方查看,但我想添加极坐标网格并为角度和半径添加标签。我是否必须手动执行此操作,或者我可以使用 multiplot 覆盖 2D 网格和从 0.0 查看的 3D 图?
我不确定如何处理这个问题。任何关于采取什么方向的建议将不胜感激。
-查理
【问题讨论】: