Python Plotly 如何消除蜡烛棒图中的日期时间间隙?

use*_*156 9 python candlestick-chart python-datetime yahoo-finance plotly-dash

我正在尝试消除烛台中的日期时间间隙(间隙是股市休市的时间段,因此没有数据)。似乎无法找到使用绘图对象的良好解决方案。有没有可行的办法呢?

在此输入图像描述

我的代码如下(使用绘图对象):

import dash
import dash_core_components as dcc
import dash_table
import pandas as pd
import dash_html_components as html
import numpy as np
from dash.dependencies import Output, Input, State
import plotly.graph_objects as go
import yfinance as yf
import plotly.express as px
from datetime import datetime, timedelta
from pytz import timezone
import dash_bootstrap_components as dbc

df= yf.Ticker('aapl')
df = df.history(interval="5m",period="5d")
df["Datetime"] = df.index

trace1 = {
    'x': df.Datetime,
    'open': df.Open,
    'close': df.Close,
    'high': df.High,
    'low': df.Low,
    'type': 'candlestick',
    'name': 'apple,
    'showlegend': False
    }

data = [trace1]

# Config graph layout
layout = go.Layout({
        'title': {
            'text': str(input_value) + ' Stock',
            'font': {
                'size': 15
            }
        },
        'plot_bgcolor': '#2E2E2E'
    })
fig = go.Figure(data=data, layout=layout)
fig.update_layout(xaxis_rangeslider_visible=False)

if __name__ == '__main__':
    app.run_server(debug=True)
Run Code Online (Sandbox Code Playgroud)

Sou*_* De 2

TLDR:我遇到了同样的问题,无法从情节文档中找到任何解决方案。我在plotly R 社区上找到的唯一建议是将x 轴设置为类别而不是日期时间。但我仍然无法让它工作,因为fig.layout()没有这样的属性可用。

对于您的代码,将日期时间更改为字符串以强制其为非日期时间类型轴

df["Datetime"] = df.index.dt.strftime("%Y/%m/%d %H:%M")
Run Code Online (Sandbox Code Playgroud)

这应该可以解决日期时间间隙的问题。