Python mayavi上相同位置的多个绘图

Python mayavi上相同位置的多个绘图,python,plot,mayavi,Python,Plot,Mayavi,我试着在R3中画出这个“F”向量函数。与以半径Pi/2原点为中心的球体一起 我不明白为什么向量和球体不在同一位置 我不理解mlab.axes“轴可见性”,我只想显示通常的x、y、z轴 抱歉,如果这对某些人来说是显而易见的,但我花了几个小时浏览了标准文档、一些示例和谷歌搜索,但我仍然一无所知 我当前的Mayavi结果和代码: import numpy as np from mayavi import mlab # Functions def h(t): return np.ex

我试着在R3中画出这个“F”向量函数。与以半径Pi/2原点为中心的球体一起

  • 我不明白为什么向量和球体不在同一位置
  • 我不理解mlab.axes“轴可见性”,我只想显示通常的x、y、z轴
抱歉,如果这对某些人来说是显而易见的,但我花了几个小时浏览了标准文档、一些示例和谷歌搜索,但我仍然一无所知

我当前的Mayavi结果和代码:

import numpy as np
from mayavi import mlab


# Functions
def h(t):
    return np.exp(-1/t) * (1/np.cos(t))


def F(x, y, z):
    norm = np.linalg.norm([x, y, z])
    h_norm = (h(norm)/norm)
    return [x*h_norm, y*h_norm, z*h_norm]


# Vectors
x, y, z = np.meshgrid(np.arange(-2, 2, 0.5),
                      np.arange(-2, 2, 0.5),
                      np.arange(-2, 2, 0.5))

u, v, w = F(x, y, z)

src = mlab.pipeline.vector_field(u, v, w)
mlab.pipeline.vectors(src, mask_points=20, scale_factor=.5)

# Ball
dphi, dtheta = np.pi/250.0, np.pi/250.0
[phi, theta] = np.mgrid[0:2*np.pi:dphi,
                        0:np.pi:dtheta]
r = np.pi / 2

x2 = r*np.sin(theta)*np.cos(phi)
y2 = r*np.sin(theta)*np.sin(phi)
z2 = r*np.cos(theta)

s = mlab.mesh(x2, y2, z2)

#mlab.axes(x_axis_visibility=True, y_axis_visibility=True)

# View it all.

mlab.outline()
mlab.show()