【问题标题】:How to set the ratio of 3d plot according to the figsize?如何根据 figsize 设置 3d 绘图的比例?
【发布时间】:2021-05-01 11:42:47
【问题描述】:

我想要一个数字 10,5,其边距、方位角和仰角设置如下。如何设置配给?是 ax.get_proj 解决方案,如果是,我无法编写正确的论点。

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D                         

fig = plt.figure(figsize=[10,5])
 
ax = fig.gca(projection = '3d')
azimuth=90
elevation=90
ax.azim = azimuth    
ax.elev = elevation  

ax.get_proj = lambda: np.dot(Axes3D.get_proj(ax), np.diag([1.55, 1.5, 0.8, 1]))

ax.set_xlim(-0.69, 0.69)
ax.set_ylim(-0.32, 0.32)


plt.show()

期望的结果是网格更宽。我的意思是这个数字应该尽可能地被网格填充。

【问题讨论】:

  • 你的情节有什么问题? azim 90 表示从 +y 看,elev 90 表示从 +z 看,请参阅stackoverflow.com/a/64849390/3944322 的插图
  • 我添加了图。我需要扩大网格。

标签: python-3.x matplotlib 3d


【解决方案1】:

将以下内容添加到您的脚本中:

ax.set_box_aspect((10,5,1))
plt.tight_layout(pad=0)

【讨论】:

  • 非常感谢
猜你喜欢
  • 2012-05-06
  • 2011-12-29
  • 1970-01-01
  • 2022-12-06
  • 2022-01-14
  • 2022-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多