如何在 Python 中的球体表面上创建等高线图?

问题描述

我在 Python 中绘制了一个球体,用作一些随机变量 u_1、u_2 和 u_3 的图形表示。该图可以在 here 处找到。

这是使用以下 Python 代码实现的:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111,projection='3d')
ax.set_xlabel(r'$u_1$'),ax.set_xlim([-4,4]),ax.set_xticks([-4,4])
ax.set_ylabel(r'$u_2$'),ax.set_ylim([-4,ax.set_yticks([-4,4])
ax.set_zlabel(r'$u_3$'),ax.set_zlim([-4,ax.set_zticks([-4,4])

# Plot sphere using spherical coordinates
beta = 4.498
theta,phi = np.mgrid[0:np.pi:50j,0:2*np.pi:50j]
xcoord = beta * np.sin(theta) * np.cos(phi)
ycoord = beta * np.sin(theta) * np.sin(phi)
zcoord = beta * np.cos(theta)
ax.plot_surface(xcoord,ycoord,zcoord,color='yellow')

我现在想在球体表面绘制以下函数

v_3 = np.sqrt(-2 * m0(u_1,u_2,u_3) * np.log(2 * np.pi / T_tilde * np.sqrt(m0(u_1,u_3) / m2(u_1,u_3)) * (1 - phi(u_3)))

此处 m0(u_1,u_3)、m2(u_1,u_3) 和 T_tilde 表示代码中较早计算的变量,phi 表示标准正态运算符。

结果应该类似于 this

有关如何实现这一目标的任何建议?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...