gpt4 book ai didi

python - 如何将 3D 散点投影到 xy 平面上?

转载 作者:太空宇宙 更新时间:2023-11-03 14:18:49 24 4
gpt4 key购买 nike

这是有问题的图表,点应该出现在底部平面中,而不是像我所希望的那样出现在平面“上方”。 enter image description here

bx.scatter(xs,ys,zs, zdir=zs,c=plt.cm.jet(np.linspace(0,1,N))) # scatter points
for i in range(N-1):
bx.plot(xs[i:i+2], ys[i:i+2], zs[i:i+2], color=plt.cm.jet(i/N), alpha=0.5)
#plots the lines between points
bx.scatter(xs,ys,zs=732371.0,zdir="z",c=plt.cm.jet(np.linspace(0,1,N)),depthshade=True)
bx.set_zlim3d(732371.0,) #limit is there so that we can project the points onto the xy-plane

您会注意到这些点绘制在 xy 网格上方,我必须为 z 轴设置下限,以便第一个投影点不会干扰第一个散点

我更喜欢这些点是二维的并且不那么老套,因为我还有 50 个其他图表要做这样的事情,并且对每个图表进行微调会很麻烦。

有一些更简单的方法想要分享吗?

最佳答案

有很多选项,最终取决于其他图中数据的范围。

1) 将投影点偏移固定量您可以计算最小 Z 值,并绘制相对于该最小值的固定偏移量的投影。

zs=min(zs)-offset

2) 根据数据范围将投影偏移相对量。您可以考虑数据的范围(即从最小 Z 到最大 Z 的距离)并计算与之成比例的偏移量(例如 10-15%)。

zs=min(zs)-0.15*(max(zs)-min(zs))

关于python - 如何将 3D 散点投影到 xy 平面上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48078713/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com