使用GNUplot设置等高线标签、栅格和彩色地图插值?

使用GNUplot设置等高线标签、栅格和彩色地图插值?,gnuplot,heatmap,contour,Gnuplot,Heatmap,Contour,所以我一直在尝试创建一个热图,上面覆盖着一个二维阵列的等高线图。我基本上是成功的,但我被卡住了 第1期:我无法在每个轮廓上显示标签。我在绘图之前设置了以下命令: 此命令应以1的间隔在第一条等高线上放置标签(在每个等高线上放置标签)。但什么也没有出现 问题2:(已解决)我无法正确显示网格。如果删除用于打印颜色贴图的plot命令部分,网格将显示在仅等高线版本上。绘制两个图时,栅格不会显示。为什么会发生这种情况 第3期:我正在尝试使用pm3d插值彩色贴图。从我的输出中可以看出,颜色映射非常“粗糙”。我

所以我一直在尝试创建一个热图,上面覆盖着一个二维阵列的等高线图。我基本上是成功的,但我被卡住了

第1期:我无法在每个轮廓上显示标签。我在绘图之前设置了以下命令:

此命令应以1的间隔在第一条等高线上放置标签(在每个等高线上放置标签)。但什么也没有出现

问题2:(已解决)我无法正确显示网格。如果删除用于打印颜色贴图的plot命令部分,网格将显示在仅等高线版本上。绘制两个图时,栅格不会显示。为什么会发生这种情况

第3期:我正在尝试使用pm3d插值彩色贴图。从我的输出中可以看出,颜色映射非常“粗糙”。我用这些命令在类似的示例中进行了尝试,并取得了成功

设置pm3d地图

设置pm3d插值4,4

然而,当我在本例中使用它时,GNUplot用一个空文件创建了数据文件test.dat,而colormap没有创建。GNUplot创建此错误消息:

第0行:警告:跳过没有有效点的数据文件

我使用的命令[pm3d命令将导致打印错误]:

                    cd '<Your Directory>'

                    set terminal png size 1920,1080 
                    set output 'testplot.png'
                    set xrange [0:20]
                    set yrange [0:25]
                    set pm3d map 
                    set pm3d interpolate 4,4
                    set table 'test.dat'
                    splot 'TestData.txt' matrix
                    unset table

                    set contour base
                    set cntrparam level incremental 0, 0.1, 1
                    unset surface
                    set table 'cont.dat'
                    splot 'TestData.txt' matrix
                    unset table

                    reset
                    set xrange [0:20]
                    set yrange [0:25]
                    unset key
                    
                    set cbtics 0, 0.1, 1.0
                    set cblabel 'Normalized Power Density Relative to SC6 Limit'
                    set cbrange [0:1]
                    set cntrparam level incremental 0, 0.1, 1
                    set cntrlabel start 1 interval 1
                    set grid
                    p 'test.dat' with image, 'cont.dat' w l lt - 1 lw 1.5 
cd''
设置终端png大小19201080
设置输出“testplot.png”
设置xrange[0:20]
设置Y范围[0:25]
设置pm3d地图
设置pm3d插值4,4
设置表格“test.dat”
splot'TestData.txt'矩阵
未设置的表
设置等高线基准
将cntrparam级别增量设置为0,0.1,1
未定型表面
设置表格“cont.dat”
splot'TestData.txt'矩阵
未设置的表
重置
设置xrange[0:20]
设置Y范围[0:25]
取消设置键
将cbtics设置为0、0.1、1.0
设置cblabel“相对于SC6限制的标准化功率密度”
设置cbrange[0:1]
将cntrparam级别增量设置为0,0.1,1
设置cntrlabel开始1间隔1
设置网格
带有图像的p‘测试数据’,‘cont.dat’w l lt-1 lw 1.5

任何帮助都将不胜感激。

1)第5版中更改了标记轮廓的机制。它现在需要一个带有标签的单独绘图命令
,在
设置等高线
生效时发出

2) 使用
set grid front
确保它绘制在绘图元素的顶部

3)
set-pm3d-map
不推荐使用。我再也不确定它过去是干什么的了。无论如何,这是没有必要的<代码>设置pm3d插值x,x
对我有效

修改了下面的脚本和输出

# Require "with pm3d"
set pm3d explicit

# Smooth pm3d colors
set pm3d interpolate 3,3

set contour
set cntrparam level incremental 0, 0.1, 1

set view map
unset key
unset border

set xrange [*:*] noextend
set yrange [*:*] noextend

# Plot elements will be rendered in the order given.
# The grid will go in front of that.
set grid x y lc "white" front

# Note that grid lines only appear at axis tic locations.
# But black tics would hide the white grid lines, so scale them to 0 length
set tics scale 0

splot 'TestData.txt' matrix using 1:2:3 with pm3d, \
      '' matrix using 1:2:3 with lines lw 4 nosurface, \
      '' matrix using 1:2:3 with labels textcolor "white"

1)在第5版中,标记轮廓的机制发生了变化。它现在需要一个带有标签的单独绘图命令
,在
设置等高线
生效时发出

2) 使用
set grid front
确保它绘制在绘图元素的顶部

3)
set-pm3d-map
不推荐使用。我再也不确定它过去是干什么的了。无论如何,这是没有必要的<代码>设置pm3d插值x,x
对我有效

修改了下面的脚本和输出

# Require "with pm3d"
set pm3d explicit

# Smooth pm3d colors
set pm3d interpolate 3,3

set contour
set cntrparam level incremental 0, 0.1, 1

set view map
unset key
unset border

set xrange [*:*] noextend
set yrange [*:*] noextend

# Plot elements will be rendered in the order given.
# The grid will go in front of that.
set grid x y lc "white" front

# Note that grid lines only appear at axis tic locations.
# But black tics would hide the white grid lines, so scale them to 0 length
set tics scale 0

splot 'TestData.txt' matrix using 1:2:3 with pm3d, \
      '' matrix using 1:2:3 with lines lw 4 nosurface, \
      '' matrix using 1:2:3 with labels textcolor "white"

非常好用,谢谢。避免我尝试随机的东西,直到它的工作方法非常好,谢谢。让我不用尝试随机的事情,直到它成功为止