Python matplotlib三维曲面打印

Python matplotlib三维曲面打印,python,matplotlib,Python,Matplotlib,我正在尝试使用matplotlib将为mathematica编写的曲面图(下图和脚本)的方程式转换为python脚本。网络上只有少数几个曲面图的例子 我的许多尝试中的一次未能发挥作用,我们将不胜感激 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np fig = plt.figure() ax = fig.add_subplot(111, projection='

我正在尝试使用matplotlib将为mathematica编写的曲面图(下图和脚本)的方程式转换为python脚本。网络上只有少数几个曲面图的例子

我的许多尝试中的一次未能发挥作用,我们将不胜感激

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

x = np.linspace(2,-2)
y = np.linspace(2,-2)
z = np.linspace(2,-2)


surfx = -1 * (pow(y, 10) + pow(z, 10) - 100)
surfy = -1 * (pow(x, 10) + pow(z, 10) - 100)
surfz = -1 * (pow(x, 10) + pow(y, 10) - 100)


ax.plot_surface(surfx,surfy,surfz,  rstride=4, cstride=4, color='b')

plt.show()

我认为matplotlib在这一点上没有等效的函数。如果您不局限于使用matplotlib,那么您可能希望了解matplotlib及其功能

下面的代码使用mayavi生成与示例类似的绘图。但我不确定是否可以添加线框轮廓

import numpy as np
from mayavi import mlab

x, y, z = np.ogrid[-2:2:25j, -2:2:25j, -2:2:25j]
s = np.power(x, 10) + np.power(y, 10) + np.power(z, 10) - 100

mlab.figure(bgcolor=(1,1,1))
mlab.contour3d(s, contours=[2], color=(.5,.5,.5), transparent=True, opacity=.5)

ax = mlab.axes(nb_labels=5, ranges=(-2,2,-2,2,-2,2))
ax.axes.property.color = (0,0,0)
ax.axes.axis_title_text_property.color = (0,0,0)
ax.axes.axis_label_text_property.color = (0,0,0)
ax.axes.label_format='%.0f'

mlab.show()

谢谢你完美地回答了我的问题!