首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matplotlib参数曲面绘制意外结果,为什么?

Matplotlib参数曲面绘制意外结果,为什么?
EN

Stack Overflow用户
提问于 2015-02-08 19:55:22
回答 1查看 1.2K关注 0票数 2

我试图绘制一个椭球,所以,我想我会修改一个球面的例子代码,从matplotlib 3D绘图页面。

代码语言:javascript
复制
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np

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

# Ellipsoid
u = np.linspace(-np.pi/2.0,np.pi/2.0,100)
v = np.linspace(-np.pi,np.pi,100)
x = 10 * np.outer(np.cos(u), np.cos(v))
y = 10 * np.outer(np.cos(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.sin(v))


# Sphere
#u = np.linspace(0, 2 * np.pi, 100)
#v = np.linspace(0, np.pi, 100)
#x = 10 * np.outer(np.cos(u), np.sin(v))
#y = 10 * np.outer(np.sin(u), np.sin(v))
#z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))

ax.plot_surface(x, y, z,  rstride=4, cstride=4, cmap = cm.copper)
ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')
ax.set_zlabel('z-axis')
plt.show()

如果您运行代码,您将看到,情节返回一个美观,半内外船,像表面,但遗憾的是,不是一个椭球体。

已经包含了用于比较的球形代码(注释掉)。

这里有什么明显的东西我错过了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-08 20:28:50

你为什么要改变参数化?以球体为例,只需改变半轴长度:

代码语言:javascript
复制
# Ellipsoid
u = np.linspace(0, 2.*np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = 60 * np.outer(np.cos(u), np.sin(v))
y = 20 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28398660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档