小编Nei*_*_UK的帖子

为Matplotlib Axes3D设置/获取3d观察方向

我刚学习Matplotlib,所以我直接进行立体可视化.我已经建立了镜子来观看屏幕,并且让左右图形以交互方式更新正确的距离.

我现在需要做的是询问一个轴的方向,设置另一个轴的方向.我有RFTM,并做了帮助(Axes3D.function),不幸的是文档看起来有点薄,而且不一致.

到目前为止,我发现的唯一的Axes3D调用是set_init(azim =,elev =)和get_proj(),它返回4x4变换矩阵.

现在get_proj说 - 引用pdf,这是与docstring相同的文本

get_proj()
Create the projection matrix from the current viewing position.
elev stores the elevation angle in the z plane 
azim stores the azimuth angle in the x,y plane
dist is the distance of the eye viewing point from the object point.
Run Code Online (Sandbox Code Playgroud)

......没有描述4x4矩阵.

我可以尝试对矩阵中的值进行反向工程以给出azim和elev,但逆向工程总是感觉不对,特别是对于广泛使用的库.我也没有找到任何设置dist的功能.我根据其中一个示例编写了一个简短的脚本来设置和查询查看位置.

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

plt.ion()
fig = plt.figure()
ax = fig.gca(projection='3d')
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z …
Run Code Online (Sandbox Code Playgroud)

3d matplotlib

9
推荐指数
1
解决办法
3716
查看次数

Pythonic从包中导入模块的方法

以下导入语句的效果之间是否有任何差别,微妙或不那么微妙?我发现它们都在示例程序中使用,当然,它们似乎都可以工作.如果它们在功能上完全等同,那将违背Python的"只有一种方法来做事",所以我很困惑.我刚刚开始使用Python并试图保持良好的习惯.例如,对于scipy包中的插值模块......

from scipy import interpolate as spi
Run Code Online (Sandbox Code Playgroud)

要么

import scipy.interpolate as spi
Run Code Online (Sandbox Code Playgroud)

两者似乎都将插入模块作为spi放在当前命名空间中

python scipy python-import

6
推荐指数
2
解决办法
194
查看次数

标签 统计

3d ×1

matplotlib ×1

python ×1

python-import ×1

scipy ×1