【发布时间】:2023-04-06 09:17:01
【问题描述】:
我正在使用 Matplotlib 将一些数据绘制为 3D 曲面图。我使用的代码与3D surface plot example 非常相似。它生成如下图:
这个图的问题是 Z 轴不是垂直的。如何使 Z 轴垂直?
我检查了可用的不同 API,发现 view_init。通过使用view_init设置绘图的低仰角(elev=1),我可以使Z轴垂直,如下所示:
但是,这里的问题是,在低海拔处,Y 轴刻度标签全部被覆盖,无法正确查看。所以我需要绘图处于高仰角,并且 X-Y 平面旋转角度如图 1 所示。如何为该绘图实现垂直 Z 轴?
我不知道 Matlab,但我知道 Matplotlib 是从 Matlab API 派生的。因此,我查看了 Matlab 文档中的曲面图示例,发现 Z 轴在他们的示例中似乎是垂直的。下图为高海拔示意图:
更新 1: 根据 Bentoy13 的建议,我设置了 view_init(elev=30, azim=-37.5) 并得到以下结果。它更好,但还不是垂直的:
相比之下,Matlab 绘图中的 Z 轴是完全垂直的。另外,从这个角度可以看出,我实际上不能使用这个azim=-37.5,因为有些信息是隐藏的。还有其他解决方案吗? :-)
【问题讨论】:
-
看起来像透视投影/正射投影问题
标签: matlab matplotlib plot matlab-figure