python 3d绘图旋转_如何更改Matplotlib 3d旋转(mplot3d)的鼠标交互样式?

本文讨论了在使用matplotlib进行3D绘图时遇到的问题,即Z轴旋转受限于一个平面。作者分享了一个可复现的代码示例,并提出了通过重新绑定_Axes3D的_on_move方法来实现自定义鼠标交互风格的解决方案,涉及到了使用quaternions进行矩阵旋转。同时,也提到了可能从VTK或Mayavi的交互器中获取灵感的建议。
摘要由CSDN通过智能技术生成

我绘制了3D图,并用于quiver绘制x,y和z轴。

在matplotlib的交互式绘图中,我可以拖动和旋转3D绘图,但是存在一个问题:

当我拖动绘图时,似乎Z轴限制在一个平面上。无论我如何拖动绘图,Z轴只能以有限的方式(在一个平面内)旋转,而X轴和Y轴可以自由旋转。

我的问题是:这是对matplotlib的限制吗?是否有什么方法可以配置x,y和z轴的旋转方式?

任何建议表示赞赏。

随附一个最小的可复制示例,以供参考:

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

n_radii = 8

n_angles = 36

# Make radii and angles spaces (radius r=0 omitted to eliminate duplication).

radii = np.linspace(0.125, 1.0, n_radii)

angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)

# Repeat all angles for each radius.

angles = np.repeat(angles[..., np.newaxis], n_radii, axis=1)

# Convert polar (radii, angles) coords to cartesian (x, y) coords.

# (0, 0) i

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值