小编Cha*_*lie的帖子

gnuplot 2D极坐标图与3D数据集的热图 - 可能吗?

我想使用笛卡尔坐标拍摄我作为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绘图时,我收到一条错误消息,即极坐标图不支持"with image"选项.有人可以尝试这个或确认一下吗?

我已经能够使用splot和直接在上面的视图(设置视图0.0)将我的极地数据绘制为3D图中的热图+等高线.如果我首先将我现有的极坐标数据转换为笛卡尔坐标,我可能会得到类似于此网页中显示的内容: 如何使用gnuplot创建三维极坐标图 我也可以从上面查看,但我想添加在极地网格中,并有角度和半径的标签.我是否必须手动执行此操作,还是可以使用多重绘图来覆盖2D网格和从0.0开始查看的3D绘图?

我不知道如何处理这个问题.任何关于采取何种方向的建议都将受到赞赏.

-Charlie

gnuplot heatmap

7
推荐指数
1
解决办法
9623
查看次数

gnuplot轮廓线颜色:设置样式线和设置线型不起作用

我正在绘制数据,如之前的Stackoverflow问题所述: gnuplot 2D极坐标图与3D数据集的热图 - 可能吗? 它主要适用于我,我对一些小细节很感兴趣.其中之一是如何控制轮廓线颜色和线宽.网上有很多关于使用的帖子,set style increment user后面是用户风格的定义set style line 1 lc rgb "blue" lw 2理论上,这应该强制使用新定义的样式绘制线条.我尝试过它并没有用.另外,当我通过我的gnuplot安装进入帮助页面时,我发现这个用法已被我的版本弃用(版本4.7补丁级别0最后修改2013-07-25).建议使用set linetype,它会为当前gnuplot的调用永久地更改gnuplot行样式的特征.杀死并重新启动gnuplot会恢复默认的线型特征.

接下来,我重新启动了gnuplot,重新生成了绘图,没有重新定义轮廓线的任何线型或类型.当我查看我的情节时,我可以看到线条颜色以青色开始,然后是紫色,然后是蓝色(例如,类型为5,4,3或14,13,12等).似乎线型通过可用的样式进入BACKWARDS.好吧,我想,我可以改变那些并与奇怪的行为一起生活.但是,在发出多个set linetype命令后,将所有这些线型更改为明显不同的东西(我通过运行test命令验证了这些,图上的轮廓线仍然具有与以前相同的颜色和线宽.我可以似乎没有弄清楚轮廓线使用什么线型,所以我无法改变相应的线型.

也许这种奇怪的行为是轮廓线属于类型的结果,set cntrparam levels increment -6,-6,-24负值和/或负向增量会导致一些不可预测的行为?

我想知道如何知道该图中轮廓线将使用哪种线型,以及如果用于构建曲面图的线数发生变化,这种线型是否会改变.例如,下图所示的图使用13"线"来生成表面set pm3d map.因此,假设N = 13行 - 是否有一条规则符合第一个轮廓线型?例如,我是否总是确定轮廓线样式将从N = 14开始?我知道当输入数据中的"行"数量变化时,第一行和后续轮廓行将使用哪种行类型.

最重要的是我需要将某种样式应用于用于每个轮廓级别的轮廓线.我希望在输入数据更改时始终对每个级别使用相同的样式.该图总是使用相同的轮廓水平集:-6,-12,-18和-24.绘图数据将始终具有大约0的最大"z"坐标并从那里减小.

Gnuplot命令如下所示.该图的数据集可以在这里下载:http: //audio.claub.net/temp/new_test.dat

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 …
Run Code Online (Sandbox Code Playgroud)

gnuplot colors contour

7
推荐指数
1
解决办法
2万
查看次数

gnuplot:如何在3D图中使xy,xz和yz平面不透明/实体?

我最近选择了GNUplot,并正在使用“矩阵”数据格式绘制一些3D数据集。将我在网络上找到的一些命令文件混合在一起后,它运行良好,但是我没有找到有关如何执行以下操作的任何信息:

我想将我的数据绘制为3D表面,其中x / y数据限制的xy平面和xz和yz平面的实心/不透明表面在xy平面。例如,我的情节当前看起来像这样:

http://audio.claub.net/temp/waterfall__plot_normalized_to_on-axis.JPG

我希望它具有不透明的平面,如下图所示:

http://www.musicanddesign.com/images/NOTE_Polar_surface_SE_Datadata.gif

(对不起,您还没有发布实际图像,但是我对该论坛来说太新了,还没有特权。)

我猜想我需要手动将这些平面添加为具有自己的矩阵数据结构的其他3D曲面,但是我不确定该怎么做。

我目前正在使用以下命令绘制数据:

reset
set xrange [100:20000]
#set yrange [-60:60]
#set zrange [-25:3]
set logscale x
set cntrparam levels increment GPVAL_DATA_Z_MAX-2,-2,-30
# GPVAL_DATA_Z_MAX above contains the max z value in the data set
set surface
set contour surface
set style data lines
set ticslevel 0
set xlabel 'frequency  [Hz]' #offset 0,2.25
set xtics add ("200" 200,"500" 500,"2000" 2000,"5000" 5000,"20000" 20000)
set mytics 4
set ylabel "angle\n[deg]" offset -12,0
set view 60,20
set clabel …
Run Code Online (Sandbox Code Playgroud)

3d gnuplot

4
推荐指数
1
解决办法
3916
查看次数

标签 统计

gnuplot ×3

3d ×1

colors ×1

contour ×1

heatmap ×1