与pm3d的和调色板

时间:2016-04-27 09:24:17

标签: gnuplot gradient palette

在多重绘图中,我绘制了3个具有不同调色板颜色的地图(参见下面的代码)。 我希望在我的多画面的第四个方格中,其他三个方格的总和,即红色部分,蓝色部分,绿色部分以及红色+蓝色+绿色的组合,具体取决于第14,15和16列的值。

set view map; set size square
set xlabel "delta mu Al"
set ylabel "delta mu Mn"
set zlabel "fraction atomique"

set multiplot layout 2,2
set title "Fer"
set palette defined (0 "white", 1 "red")
splot "res700.dat" u 3:4:($16/3456) t "Fe"  with pm3d

set title "Alu"
set palette defined (0 "white", 1 "green")
splot "res700.dat" u 3:4:($14/3456) t "Fe"  with pm3d

set title "Mn"
set palette defined (0 "white", 1 "blue")
splot "res700.dat" u 3:4:($15/3456) t "Fe"  with pm3d

unset multiplot

1 个答案:

答案 0 :(得分:2)

使用rgb variable。使用黑色作为无信号颜色,这给出了:

set view map; set size square
set xlabel "delta mu Al"
set ylabel "delta mu Mn"
set zlabel "fraction atomique"

set isosample 100
Fe(x,y)=x*y
Al(x,y)=(1-x)*y
Mn(x,y)=x*(1-y)

set multiplot layout 2,2
set title "Fer"
set palette defined (0 "black", 1 "red")
splot [0:1][0:1] "++" u 1:2:(Fe($1,$2)) t "Fe"  with pm3d

set title "Alu"
set palette defined (0 "black", 1 "green")
splot [0:1][0:1] "++" u 1:2:(Al($1,$2)) t "Al"  with pm3d

set title "Mn"
set palette defined (0 "black", 1 "blue")
splot [0:1][0:1] "++" u 1:2:(Mn($1,$2)) t "Mn"  with pm3d

set title ""
rgb(r,g,b) = 65536 * int(255*r) + 256 * int(255*g) + int(255*b)
unset colorbox
splot [0:1][0:1] "++" u 1:2:(rgb(Fe($1,$2),Al($1,$2),Mn($1,$2))) t "" with pm3d lc rgb variable

unset multiplot

enter image description here