bin*_*nev 2 python 3d plot zoom matplotlib
该问题说明了如何通过指定仰角和方位角来更改matplotlib中3D图的“摄像机位置”。ax.view_init(elev=10,azim=20), 例如。
有没有类似的方法可以通过数字指定图形的缩放比例-即不使用鼠标?
我唯一可以找到的相关问题是这个问题,但是公认的答案涉及安装另一个库,然后还需要使用鼠标进行缩放。
编辑:
为了清楚起见,我不是在谈论更改图形大小(使用fig.set_size_inches()或类似方法)。图形大小很好;问题在于所绘制的内容仅占图中的一小部分:

小智 5
最接近的解决方案view_init是ax.dist直接设置。根据文档,get_proj“ dist是眼睛视点到物点的距离”。的初始值被硬编码目前用dist = 10。较低的值(高于0!)将导致图形放大。
注意:此行为尚未真正记录,并且可能会更改。在大多数情况下,更改轴的限制以仅绘制相关零件可能是一个更好的解决方案。您可以ax.autoscale(tight=True)方便地执行此操作。
%matplotlib inline
from IPython.display import display
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Grab some test data.
X, Y, Z = axes3d.get_test_data(0.05)
# Plot a basic wireframe.
ax.view_init(90, 0)
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10)
plt.close()
from ipywidgets import interact
@interact(dist=(1, 20, 1))
def update(dist=10):
ax.dist = dist
display(fig)
Run Code Online (Sandbox Code Playgroud)
dist = 10
dist = 5
| 归档时间: |
|
| 查看次数: |
1125 次 |
| 最近记录: |