GNUPlot-将极坐标形式的数据集(r和T)绘制到等高线/热图上

GNUPlot-将极坐标形式的数据集(r和T)绘制到等高线/热图上,gnuplot,Gnuplot,我希望我不会在这里被火爆,这是我第一次发帖。哈哈 所以在一个艰苦的模拟之后,我得到了这个形式为r,θ和T(r,θ)的大型数据集。我需要为这个数据集绘制一张等高线图。θ以度为单位 所以我跑去了GNUPlot,我希望这能帮我解决问题。我研究了一下它是如何工作的,但我仍然无法绘制二维等高线数据 然后我研究了我的问题,然后我在SE中看到了这个线程: 我在那篇文章中使用了这两个代码(我假设它们正在工作),但没有一个代码在处理我的数据集。我希望有人能帮我解决我的问题 我将代码更改为: reset set

我希望我不会在这里被火爆,这是我第一次发帖。哈哈

所以在一个艰苦的模拟之后,我得到了这个形式为r,θ和T(r,θ)的大型数据集。我需要为这个数据集绘制一张等高线图。θ以度为单位

所以我跑去了GNUPlot,我希望这能帮我解决问题。我研究了一下它是如何工作的,但我仍然无法绘制二维等高线数据

然后我研究了我的问题,然后我在SE中看到了这个线程:

我在那篇文章中使用了这两个代码(我假设它们正在工作),但没有一个代码在处理我的数据集。我希望有人能帮我解决我的问题

我将代码更改为:

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 = 0.05 # CHANGED THIS
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 'data.dat' using 1:2:3    # CHANGED THIS

# 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

所以我有一个小小的“尤里卡”时刻。显然,我必须放置dgrid3d,并且必须将坐标从极坐标转换为笛卡尔坐标

转换(并放置集合dgrid3d)后,出现了一个丑陋的绘图:

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 = 0.05 # CHANGED THIS
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
set dgrid3d         # ADDED THIS
splot 'data.dat' using 1:2:3    # CHANGED THIS

# 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

我现在已经到了极限。三个问题。 1.假设我可以使用gnuplot中的数学将坐标从极坐标转换为笛卡尔坐标,对吗?或者有没有一种方法可以让我立即使用极坐标数据? 2.如何将“颜色”限制为圆形极坐标图? 3.度数和半径读数发生了什么变化?他们去了哪里


谢谢

请分享你当前的工作。我只是使用了我提供的链接上的代码。我的不行。我尝试替换其中的一些内容,如半径和其他内容,但没有效果。我编辑了文章,以包含我将源代码更改为的代码。此外,无论我进行了什么编辑,都会出现这种情况。可能是数据格式错误。但要分析这一点,我们需要数据。