2013-11-22 2 views
1

gnuplot включает в себя изумительное количество опций, которые я еще не усвоил. Код отображает одну цветную сетку под прозрачной плоскостью. Легкая окраска нижней сетки делает очевидным, что она ниже плоскости. Когда нижняя сетка пересекает плоскость на ровно двух ребрах, сетка должна быть изогнута. Возможно, отображение сетки с интерполированной сеткой сделает это более ясным.Как добавить единую цветовую сетку ниже прозрачной сетки

a) Как сделать сетку для нижней сетки?

b) Есть ли лучший способ для окраски одним цветом, то есть не использовать палитру?

# Try to add colour to mask 

set terminal wxt size 600,600 enhanced font 'Verdana,10' persist 
a=57344; b=-6976; c=1785856; d=-173228032 
set cbrange[0:1] 
set palette defined (0 'blue', 1 'light-blue') 
set dgrid3d 5, 5 
set style data lines 
splot 'mask.dat' with pm3d, -(a*x+b*y+d)/c 

reset 

файл данных: mask.dat

0 0 97 
0 256 94 
0 512 91 
0 768 88 
0 1024 85 
436 0 83 
436 256 81 
436 512 79 
436 768 77 
436 1024 75 
872 0 69 
872 256 68 
872 512 67 
872 768 66 
872 1024 65 
1308 0 55 
1308 256 55 
1308 512 55 
1308 768 55 
1308 1024 55 
1744 0 41 
1744 256 42 
1744 512 43 
1744 768 44 
1744 1024 45 

ответ

0

Раскраска прекрасно, как вы сделали это, не знаю лучшего способа.

Для построения сетки для нижней сетки, просто перерисовать данные без pm3d:

reset 
set terminal pngcairo size 600,600 
set output 'test.png' 
a=57344; b=-6976; c=1785856; d=-173228032 
set cbrange[0:1] 
set palette defined (0 'blue', 1 'light-blue') 
set dgrid3d 5, 5 
set style data lines 
set ticslevel 0 
unset colorbox 
unset key 
splot 'mask.dat' with pm3d, '' lc rgb 'blue', -(a*x+b*y+d)/c lt 1 

Результат (с 4.6.4):

enter image description here

Смежные вопросы