如何确定 matplotlib 轴对象的投影(2D 或 3D)?

bin*_*nev 4 python 3d 2d projection matplotlib

在 Python 的 matplotlib 库中,很容易在创建时指定坐标区对象的投影:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
ax = plt.axes(projection='3d')
Run Code Online (Sandbox Code Playgroud)

但是如何确定现有轴对象的投影呢?没有ax.get_projectionax.properties不包含“投影”键,并且快速谷歌搜索没有发现任何有用的东西。

Imp*_*est 5

事实证明,这里给出的答案实际上是这个问题的更好答案:python check iffigure is 2d or 3d 我在该副本中提供的答案是这个问题的更好答案。

在任何情况下,您都可以使用name轴的。这是确定投影的字符串。

plt.gca().name      ax.name

ifax是轴。

3D 轴的名称将为"3d"。二维轴的名称将为"rectilinear""polar"或其他名称,具体取决于绘图的类型。自定义投影将有其自定义名称。

所以不要只ax.get_projection()使用ax.name.