Mayavi - скрыть диагональные линии в каркасе

Я только начал использовать Mayavi, и мне было интересно, есть ли способ построить каркасное представление поверхности, похожее на то, которое я использовал в matplotlib 3d.

Минимальный пример:

# sphere example
import numpy as np
from mayavi import mlab
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# azimut and polar angle
phi = np.linspace(0,2*np.pi,10)
theta = np.linspace(0,np.pi,10)
phi, theta = np.meshgrid(phi,theta)

# cartesian coordinates
x = np.cos(phi)*np.sin(theta)
y = np.sin(phi)*np.sin(theta)
z = np.cos(theta)

#plotting using matplotlib
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.plot_wireframe(x,y,z)

введите здесь описание изображения

#plotting using mayavi
mlab.mesh(x,y,z,representation='wireframe', color=(0,0,1))

введите здесь описание изображения

Как видите, результаты различаются: matplotlib печатает строки с константой phi или theta. Однако Mayavi также печатает диагональные линии (выделенные желтым цветом), соединяющие эти пути.

Я предпочитаю версию matplotlib. Есть ли способ добиться того же каркаса с Mayavi?

ТИА


person J.Doe    schedule 18.09.2018    source источник


Ответы (1)


Используйте mlab.surface() вместо mlab.mesh()

person aguest    schedule 15.05.2019
comment
Можете ли вы добавить какое-то объяснение к своему ответу, чтобы другие могли извлечь из него уроки? Почему следует использовать другой метод? - person Nico Haase; 15.05.2019