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

使用plt.scatter()绘制逻辑斯蒂映射散点图时遇参数缺失错误求助

使用plt.scatter()绘制逻辑斯蒂映射散点图时遇参数缺失错误求助

嘿,这个问题其实很好解决!你遇到的TypeError是因为plt.scatter()必须同时传入x轴和y轴两组数据,你现在只给了allys这一组,自然会提示缺少y参数啦。

咱们来看你的代码逻辑:你在遍历不同的r值,计算每个r对应的稳态y值(也就是跳过前960次迭代后的y),但你只把这些y值存到了allys里,却没保存每个y对应的r值——而逻辑斯蒂映射的分岔图,正是要把r作为x轴,对应的稳态y作为y轴来绘制的呀!

那修改方法很简单,只要加一个列表来存对应的r值就行:

  • 先新建一个列表allrs,用来存储每个稳态y对应的r值
  • 在你把y加入allys的同时,把当前的r也加入allrs
  • 调用scatter的时候,把allrs作为x参数,allys作为y参数

修改后的完整代码如下:

import numpy as np
import matplotlib.pyplot as plt

allys = []
allrs = []  # 新增:存储每个y对应的r值

for r in np.arange(0.001, 4, 0.001):
    y = np.random.rand()
    for t in range(1000):
        y = r * y * (1 - y)
        if t > 959:
            allys.append(y)
            allrs.append(r)  # 同步添加对应的r值
        
plt.scatter(allrs, allys, color='black', s=1)  # 传入x和y两组数据
plt.xticks(np.arange(0, 4, 0.5))
plt.xlabel('r')
plt.ylabel('Steady-state y')
plt.title('Logistic Map Bifurcation Diagram')
plt.show()

这样运行后,你就能得到标准的逻辑斯蒂映射分岔图啦!本质就是每个点的x是控制参数r,y是该r下系统稳定后的输出值,这样散点图才能正确展示不同r对应的系统行为。

备注:内容来源于stack exchange,提问作者magicgenie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 18:43:02