【问题标题】:python check if figure is 2d or 3dpython检查图形是2d还是3d
【发布时间】:2017-04-22 18:47:02
【问题描述】:

在带有图形的matlab中,检查我使用的是3D图形还是2D图形:

V=axis;

并检查 V 的组件数(2d 图为 4,3d 图为 6)。 如何用 python 和 matplotlib 实现这个?

【问题讨论】:

标签: python matplotlib figure axes


【解决方案1】:

您可以使用坐标区的name

plt.gca().name  ax.name

如果ax 是坐标轴。

3D 轴的名称将是 "3d"。 2D 轴的名称将是 "rectilinear""polar" 或其他名称,具体取决于绘图类型。

因此您可以检查

if  ax.name == "3d":
    # axes is 3D, do something
else:
    # axes is not 3D, do something else


您还可以检查限制,如the question this is a duplicate of 的回答中所建议的那样。通过这种方式,您将获得限制
def get_limits(ax):
    xlim = ax.get_xlim()
    ylim = ax.get_ylim()
    if hasattr(ax, 'get_zlim'): 
        zlim = ax.get_zlim()
        return xlim, ylim, zlim
    else:
        return xlim, ylim

【讨论】:

  • 好的,但是如何获取 3d 图形的轴值?感谢支持
  • 在 Matlab 中:V=axis , # 我得到 6 个值,每个 (x,y,z) 有两个值,如果我有一个 3d 图形,如何在 python 中实现它?
  • x_min, x_max for x 轴, y_min y_max for y 轴, z_min , z_max for z 轴。问题是输入中有一个 Figure 对象和一个我必须确定是 3d 还是 2d 之后我必须为它们中的每一个设置轴值(最小值和最大值)(x,y,z)
  • 好的,所以重复的答案实际上是在告诉您如何做到这一点。但我还是更新了答案。
  • 谢谢,但我更喜欢你的回答
猜你喜欢
  • 2015-07-16
  • 2018-10-13
  • 1970-01-01
  • 2015-12-15
  • 1970-01-01
  • 2017-10-08
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
相关资源
最近更新 更多