python - 如何更改 mplot3d 中的相机中心位置?
问题描述
这是我第一次使用stackoverflow。mplot3d 似乎自动将相机围绕已绘制在轴上的所有内容的质心居中,以便所有内容始终在视野中。在我的基本示例中,我绘制了一个以 (0, 0, 10) 为中心的半径为 10 的球体,mplot3d 自动将相机居中在 (0, 0, 10) 处,因此球体始终填充绘图。有什么方法可以禁用此行为,使相机保持在 (0, 0, 0) 或更好的中心,手动将相机中心位置锁定到一组坐标?
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d
fig = plt.figure(figsize=(5,5))
sphere = fig.add_subplot(111, projection="3d")
phi = np.linspace(0, 2 * np.pi, 20)
theta = np.linspace(0, np.pi, 20)
xpt = 10 * np.outer(np.cos(phi), np.sin(theta))
ypt = 10 * np.outer(np.sin(phi), np.sin(theta))
zpt = 10 * np.outer(np.ones(np.size(phi)), np.cos(theta))
zpt = zpt+10
sphere.plot_surface(xpt, ypt, zpt, color="#00f3ff", alpha=1)
sphere.view_init(azim=0, elev=0)
sphere.disable_mouse_rotation()
plt.show()
输出演示:
如果没有,任何人都可以建议任何其他具有类似 3d 绘图功能的软件包,这些软件包会给我更多的控制权吗?
解决方案
推荐阅读
- java - 运行 jar 时清单主要属性的签名文件摘要无效
- r - 如何使用蛋白质表将名称从蛋白质列表更改为它们的 ID
- python - Python 通过 SSH 隧道连接到 MySQL 服务器
- reactjs - React - 处理需要渲染上层组件的下层组件
- spring-boot - 使用 CachePut 和 Cacheable
- javascript - 如何通过拆分入口点来优化 webpack 构建?
- testing - 如何在 openshift 中测试 pod 内的内容?
- sql - 使用 hsqldb 的情况?如何?
- reactjs - 当 App 嵌入 Drupal 时,在开发模式下运行 React App
- .net-core - 具有@ref 属性的 Blazor 中未显示模型弹出窗口