python - x y z 轴的范围相同

标签 python plot axes

我有一个值为(0.7, 0.4, 0.1)的数组,我想用以下代码绘制相应的椭球体:

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')

u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)

x = 0.7 * np.outer(np.cos(u), np.sin(v))
y = 0.4 * np.outer(np.sin(u), np.sin(v))
z = 0.1 * np.outer(np.ones(np.size(u)), np.cos(v))
ax.plot_surface(x, y, z,  rstride=4, cstride=4, color='b')

plt.show()

当我绘制该图时,它看起来比预期的椭球体更像一个球体。我想问题是为轴设置“正确”的范围。

我该如何解决这个“问题”?

最佳答案

您可以使用 ax.set_xlim()ax.set_ylim()ax.set_zlim() 方法设置适当的范围。

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')

u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)

x = 0.7 * np.outer(np.cos(u), np.sin(v))
y = 0.4 * np.outer(np.sin(u), np.sin(v))
z = 0.1 * np.outer(np.ones(np.size(u)), np.cos(v))
ax.plot_surface(x, y, z,  rstride=4, cstride=4, color='b')
ax.set_xlim([-0.5, 0.5])
ax.set_ylim([-0.5, 0.5])
ax.set_zlim([-0.5, 0.5])

plt.show()

关于python - x y z 轴的范围相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10881166/

相关文章:

python - 尝试绘制一个简单的函数 - python

r - 一张图中有多条 ROC 曲线 ROCR

r - 如何在不使用 axis 命令的情况下直接在右侧绘制 y 轴?

python - 以递归方式对Python列表进行排序

Python Nested List Comprehensions 创建矩阵

python - 当我在云端硬盘中创建快捷方式时,它的 mimetype 为 'application/octet-stream',即使我指定了 '' application/vnd.google-apps.drive-sdk''

python - 使用 Matplotlib 在 Python 中使用鼠标在图像上绘制点

python - 更改 matplotlib 中多个子图的 y 轴

python-3.x - 3个子图中的2个以上的水平颜色条

python反向列表递归,仅使用