Python 如何将三维散射点投影到xy平面上?

Python 如何将三维散射点投影到xy平面上?,python,matplotlib,3d,scatter-plot,Python,Matplotlib,3d,Scatter Plot,这是有问题的图形,点应该出现在底部平面上,而不是像我想的那样出现在平面的“上方”。 正如您所注意到的,这些点是在xy栅格上方绘制的,我必须为z轴设置一个下限,以便第一个投影点不会干扰第一个散射点 我更喜欢点是2d的,不太粗糙,因为我有50个其他的图形要这样做,对每个图形进行微调会很麻烦 您想分享一些更简单的方法吗?有很多选择,最终取决于您在其他绘图中的数据范围 1) 以固定量偏移投影点 您可以计算最小Z值,并从该最小值以固定偏移量绘制投影 zs=min(zs)-offset 2) 根据数据范

这是有问题的图形,点应该出现在底部平面上,而不是像我想的那样出现在平面的“上方”。

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

我更喜欢点是2d的,不太粗糙,因为我有50个其他的图形要这样做,对每个图形进行微调会很麻烦


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

有很多选择,最终取决于您在其他绘图中的数据范围

1) 以固定量偏移投影点 您可以计算最小Z值,并从该最小值以固定偏移量绘制投影

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


为什么不直接将Z坐标设为零呢?因为Z轴是日期时间格式的,如果我设为0,它将意味着“1970年开始Z轴”,图形将无法读取。如果我没记错的话,这就是为什么我使用732371.0,也就是2006-03-01,谢谢。方法2挤压平面上的所有点,但1)效果良好
zs=min(zs)-offset
zs=min(zs)-0.15*(max(zs)-min(zs))