У меня есть два скалярных поля в 2D-сетке. Я хотел бы нарисовать изолинию для первого скалярного поля и установить его непрозрачность в соответствии со вторым скалярным полем.
Я попытался с Mayavi, начиная с этого ответа SO, но не смог переключиться с 3D на 2D.
Вот как я рисую изолинию в Mayavi (python).
import numpy
from mayavi import mlab
x, y, z = numpy.ogrid[-5:5:64j, -5:5:64j, 0:0:1j]
grid_x, grid_y, grid_z = numpy.mgrid[-5:5:64j, -5:5:64j, 0:0:1j]
scalars = x*x*0.5 + y*y
opacity = x**2
opacity /= numpy.max(opacity) #normalize
src = mlab.pipeline.scalar_field(grid_x,grid_y,grid_z, scalars)
obj = mlab.pipeline.iso_surface(src, contours=[1,2,4,8,16,25,37],line_width=3)
mlab.show()
Меня не волнует, как получаются изолинии: подойдет любой инструмент визуализации научных данных и язык программирования. Единственное, что мне нужно, это установить непрозрачность линии.
Спасибо