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

Plotly移除股票K线图节假日无效,生成异常图表问题求助

Plotly移除股票K线图节假日无效,生成异常图表问题求助

各位好,我在使用Plotly绘制亚马逊股票的30分钟K线图时遇到了麻烦,想请大家帮忙看看:

我需要把2025年2月17日这个节假日从图表里移除,查了Plotly的文档,rangebreaks应该就是用来处理这种情况的,但添加了节假日的rangebreak规则后,生成的图表变得非常奇怪,完全不符合预期。

完整代码如下:

#!/usr/bin/env python3
import yfinance as yf
import plotly.graph_objs as go
from plotly.subplots import make_subplots
import pandas as pd
import datetime

STK="AMZN"
end_time = datetime.datetime.strptime("2025-02-19","%Y-%m-%d")
start_time = end_time - datetime.timedelta(days=7)
df = yf.Ticker(STK).history(start=start_time,end=end_time,interval="30m")

fig = make_subplots(rows=1, cols=1,
                        vertical_spacing=0.01,
                        #shared_xaxes=True
                        )

trace = go.Candlestick(
            x=df.index,
            open=df["Open"],
            high=df["High"],
            low=df["Low"],
            close=df["Close"],
        )
fig.add_trace(trace)

fig.update_xaxes(
    rangebreaks=[
       dict(bounds=["sat", "mon"]),  # 跳过周末
       dict(values=["2025-02-17","2025-12-25"]),  # 跳过指定节假日
       dict(bounds=[16, 9.5], pattern="hour")  # 跳过非交易时段
    ]
)
fig.show()

具体现象:

  1. 添加节假日rangebreak后的异常图表:X轴的时间刻度错乱,出现大量重复的时间标签,K线挤在一起完全无法正常查看,整体布局混乱。
  2. 注释掉节假日rangebreak后的图表:图表恢复正常显示,能正确展示每个交易日的30分钟K线,但2025-02-17当天的空白区间依然存在,没有被移除。
  3. 期望的效果:直接移除2025-02-17对应的区间,让前后交易日的K线直接衔接,没有空白,就像没有这个节假日一样,时间轴连续显示有效的交易时段。

有没有大佬知道为什么添加节假日的rangebreak会导致图表异常?该怎么调整才能达到预期的效果呢?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 11:33:05