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()
具体现象:
- 添加节假日rangebreak后的异常图表:X轴的时间刻度错乱,出现大量重复的时间标签,K线挤在一起完全无法正常查看,整体布局混乱。
- 注释掉节假日rangebreak后的图表:图表恢复正常显示,能正确展示每个交易日的30分钟K线,但2025-02-17当天的空白区间依然存在,没有被移除。
- 期望的效果:直接移除2025-02-17对应的区间,让前后交易日的K线直接衔接,没有空白,就像没有这个节假日一样,时间轴连续显示有效的交易时段。
有没有大佬知道为什么添加节假日的rangebreak会导致图表异常?该怎么调整才能达到预期的效果呢?
备注:内容来源于stack exchange,提问作者lucky1928
相关产品推荐
相关产品推荐

