This question解释了如何更改相机位置"通过指定高程和方位角,在matplotlib中绘制3D图。例如ax.view_init(elev=10,azim=20)
。
是否有类似方法以数字方式指定数字的 zoom - 即不使用鼠标?
我能找到的唯一相关问题是this one,但接受的答案涉及安装另一个库,然后还需要使用鼠标进行缩放。
修改
为了清楚起见,我不是在谈论改变数字大小(使用fig.set_size_inches()
或类似)。数字尺寸很好;问题是绘制的东西只占这个数字的一小部分:
答案 0 :(得分:3)
最接近view_init
的解决方案是直接设置ax.dist
。根据{{3}}的文档,“dist是眼睛观察点距物点的距离”。 get_proj
与dist = 10
。较低的值(大于0!)将导致绘图放大。
注意:此行为并未真正记录,可能会发生变化。在大多数情况下,更改轴的极限以仅绘制相关零件可能是更好的解决方案。您可以使用initial value is currently hardcoded方便地执行此操作。
%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)
dist = 10
dist = 5