Mayavi - скрыть "диагональные" линии в каркасе - PullRequest
0 голосов
/ 18 сентября 2018

Я только начал использовать 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)

enter image description here

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

enter image description here

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

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

TIA

1 Ответ

0 голосов
/ 15 мая 2019

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

...