RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1610058
Accepted
Xelo
Xelo
Asked:2025-04-08 10:36:49 +0000 UTC2025-04-08 10:36:49 +0000 UTC 2025-04-08 10:36:49 +0000 UTC

mpf 和 plt 图表在时间尺度上不匹配

  • 772

我试图显示沿 x 轴链接的 4 个图形,其中 1 个使用 mpf 显示,其余的是 plt,但由于某些我无法理解的原因,它们无法及时匹配,输入数据来自同一来源。以下是代码:

    fig, (ax1,ap1,ap2,ap3) = plt.subplots(4, 1, sharex=True)
    mpf.plot(df_1m,type='candle',style='sas',ax=ax1,volume=False)
    ap1.plot(df_1m['rsi'], label= '1m')
    ap2.plot(df_5m['rsi'], label = '5m')
    ap3.plot(df_h1['rsi'], label = '1h')
    ap1.legend()
    ap2.legend()
    ap3.legend()
    mpf.show()

图中显示如下,只显示一个时间戳 在此处输入图片描述

提前感谢您的回答

matplotlib
  • 1 1 个回答
  • 25 Views

1 个回答

  • Voted
  1. Best Answer
    Airat Galiullin
    2025-04-08T18:10:30Z2025-04-08T18:10:30Z

    出现此问题的原因是,mpf.plot()(来自 mplfinance 库)将 X 轴解释为 Matplotlib 日期和时间(数字格式),而 plt.plot() 的简单图将 X 轴视为数字索引(0、1、2 等)。

    即使数据具有相同的时间戳,简单调用 plt.plot(df['column']) 也只使用默认的数字索引(0 到 N),而 mpf.plot() 会自动将索引识别为日期/时间。

    
    fig, (ax1, ap1, ap2, ap3) = plt.subplots(4, 1, sharex=True, figsize=(12,8))
    
    mpf.plot(df_1m, type='candle', style='sas', ax=ax1, volume=False, show_nontrading=True)
    
    ap1.plot(df_1m.index, df_1m['rsi'], label='RSI 1m')
    ap2.plot(df_5m.index, df_5m['rsi'], label='RSI 5m')
    ap3.plot(df_h1.index, df_h1['rsi'], label='RSI 1h')
    
    ap1.legend()
    ap2.legend()
    ap3.legend()
    
    # Дополнительно: форматируем ось X, чтобы отображалась дата и время
    import matplotlib.dates as mdates
    ax3 = ap3  # нижний график для форматирования оси X
    ax3.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d %H:%M'))
    
    fig.autofmt_xdate()
    
    plt.show()
    
    • 1

相关问题

  • 图表图例按降序排列,一个元素除外

  • 列表中元素出现频率的图表

  • ms['Close', '2016-01-01':'2016-12-31'].plot() 语法错误

  • 散点matplotlib渐变

  • 如何在matplotlib python中圆角直方图?

  • 从原点和线段找到线的交点。matpoltib

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5