You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python绘制Rössler系统3D相图问题:箭头过长可视化效果差

解决Rössler系统3D相图箭头过长的问题

你的问题核心是向量场中部分向量数值过大,导致箭头长度失衡,破坏了可视化效果。可以通过以下几个修改来解决:

  • 启用向量归一化:将quiver函数中的normalize=False改为normalize=True,这会把所有箭头缩放到统一的相对长度,彻底避免超长箭头出现。
  • 调整箭头显示长度:根据需求微调length参数,比如从0.1改为0.5,让箭头更清晰易见。
  • 聚焦吸引子区域并优化网格:Rössler系统的吸引子集中在x∈[-10,10]、y∈[-10,10]、z∈[0,10]区间内,缩小meshgrid的范围可以避开远离吸引子的大向量,同时把步长从4调整为2,让向量分布更均匀,又不会过于密集。

修改后的代码如下:

import matplotlib.pyplot as plt
import numpy as np

# Axes, grid
fig = plt.figure(figsize=(10, 10))
ax = plt.axes(projection='3d')

# 缩小网格范围并调整步长,聚焦吸引子区域
x, y, z = np.meshgrid(np.arange(-10, 10, 2),
                      np.arange(-10, 10, 2),
                      np.arange(0, 10, 2))

# Define vector field
u = -y - z
v = x + (1/5)*y
w = 1/5 + (x - 5/2)*z

# 启用归一化,调整箭头长度
ax.quiver(x, y, z, u, v, w, length=0.5, normalize=True)

ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')

plt.show()

如果需要更细致的调整,可以继续微调length参数或者网格步长,直到得到满意的可视化效果。

内容的提问来源于stack exchange,提问作者BobMarley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 06:10:42