Було б зручно застосувати положення камери до нового сюжету. Тож я малюю, а потім переміщую сюжет навколо миші, змінюючи відстань. Потім спробуйте повторити вигляд, включаючи відстань на іншій ділянці. Я вважаю, що axx.ax.get_axes () отримує мені об'єкт зі старими .azim та .elev.
В ПІТОНІ ...
axx=ax1.get_axes()
azm=axx.azim
ele=axx.elev
dst=axx.dist # ALWAYS GIVES 10
#dst=ax1.axes.dist # ALWAYS GIVES 10
#dst=ax1.dist # ALWAYS GIVES 10
Пізніше 3d графік ...
ax2.view_init(elev=ele, azim=azm) #Works!
ax2.dist=dst # works but always 10 from axx
EDIT 1 ... Гаразд, положення камери - це неправильний спосіб мислення щодо значення .dist. Він перебуває на вершині всього, як своєрідний хокейний скалярний множник для всього графіка.
Це працює для збільшення / збільшення зображення:
xlm=ax1.get_xlim3d() #These are two tupples
ylm=ax1.get_ylim3d() #we use them in the next
zlm=ax1.get_zlim3d() #graph to reproduce the magnification from mousing
axx=ax1.get_axes()
azm=axx.azim
ele=axx.elev
Пізніше графік ...
ax2.view_init(elev=ele, azim=azm) #Reproduce view
ax2.set_xlim3d(xlm[0],xlm[1]) #Reproduce magnification
ax2.set_ylim3d(ylm[0],ylm[1]) #...
ax2.set_zlim3d(zlm[0],zlm[1]) #...
%matplotlib notebook