在gnuplot中绘制两个二维图,一个在另一个上
我想为每个绘图使用两个不同的调色板绘制两个二维绘图,一个在另一个的顶部(我的总体目标是用这些图片制作两个分布的动画)。我写了下面的代码片段,基本上是两个面板,每个面板上都有在gnuplot中绘制两个二维图,一个在另一个上,gnuplot,Gnuplot,我想为每个绘图使用两个不同的调色板绘制两个二维绘图,一个在另一个的顶部(我的总体目标是用这些图片制作两个分布的动画)。我写了下面的代码片段,基本上是两个面板,每个面板上都有multiplot CMD = "rm -f *.png && echo 'Initializing...'" system(CMD) set terminal pngcairo PATH = '../RUNS/ZRU_0016/' i = 900 mincb = -16 maxcb = 0 set cbran
multiplot
CMD = "rm -f *.png && echo 'Initializing...'"
system(CMD)
set terminal pngcairo
PATH = '../RUNS/ZRU_0016/'
i = 900
mincb = -16
maxcb = 0
set cbrange[mincb:maxcb]
set xrange[0:201]
set yrange[0:201]
unset key
set ylabel "j"
set xlabel "i"
# This functions gives the name of the snapshot file
snapshot(i) = sprintf("snapshot_%04d.dat", i)
#-------------------------------------------------------------
set margins screen 0.1, screen 0.85, screen 0.1, screen 0.9
set output sprintf('%07d.png', i)
set yrange[0:201]
set multiplot
mincb = -12
maxcb = 0
set cbrange[mincb:maxcb]
load 'jet.pal'
plot PATH.'snapshots/'.snapshot(i) using 1:2:(log10($4)>mincb?(log10($4)):mincb) with lines palette lw 3, \
PATH.'data_main_ddnls_twod_mlce.dat' u 10:11 every ::i::i w p pt 7 lc 'black' notitle
mincb = -8
maxcb = 0
set cbrange[mincb:maxcb]
load 'greys.pal'
plot PATH.'snapshots/'.snapshot(i) using 1:2:(log10($5)>mincb?(log10($5)):mincb) with lines palette lw 3, \
PATH.'data_main_ddnls_twod_mlce.dat' u 12:13 every ::i::i w p pt 7 lc 'black' notitle
unset multiplot
我得到的结果如下所示
正如您所看到的,加载了jet.pal
(matlab默认颜色方案)的第一个发行版应该看起来很亮,但似乎被第二个发行版用浅灰色遮住了(不用担心颜色条)
如何在绘图上正确显示这两种分布?您能否澄清数据文件的格式?由于热图通常在pm3d模式下绘制,或者使用“带图像”进行绘制,因此您正在绘制“带线”是不可预料的。在这两种模式中,您都可以使用命令为组成像素指定部分透明度
set style fill transparent solid 0.5 noborder
这将允许第一个绘制的绘图显示在第二个绘图中。我使用的线的
上的好点,这是一个旧项目的遗迹,它工作正常。我更新了新的提议。看起来好多了。