Matplotlib彩色曲面到cen的距离

2024-09-30 14:27:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在3D中绘制一个错误的椭球体。这当然不是很难,但我发现了collors的问题。我使用的colormap使用Z值作为颜色。我想描述椭球体上一个点和另一个点(简单地说是中心点)之间的距离的关系。在

现在collor从下到上改变了,但是我想这也是由于不同轴的变化而产生的水平变化。在

有没有一种方法可以操纵颜色贴图,使其显示距离而不是Z值?在

我想也许可以像Z一样将网格变大,但是它计算的是距离而不是Z点。是否可以使用另一个2d数组来代替默认的Z?在

谢谢你的帮助


Tags: 方法网格距离关系颜色错误水平绘制
1条回答
网友
1楼 · 发布于 2024-09-30 14:27:11

我找到了答案。以下代码生成椭圆曲线及其距离:

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

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.5 * np.outer(np.cos(u), np.sin(v))
y = 0.1 * np.outer(np.sin(u), np.sin(v))
z = 0.2 * np.outer(1, np.cos(v))
T = (x**2+y**2+z**2)**(1/2)
ax.plot_surface(x, y, z, rstride=1, cstride=1, facecolors=cm.jet(T/float(T.max())))
#a = [max(x), max(y), max(z)]

ax.set_xlim([-0.3, 0.3])
ax.set_ylim([-0.3, 0.3])
ax.set_zlim([-0.3, 0.3])
plt.show()

诀窍是使用facecolors将彩色曲面设置为另一个数据集。答案如下: Representing 4D data in mplot 3D using colormaps

也许会有其他人也有同样的问题,所以这就是为什么我发布我自己的答案。在

相关问题 更多 >