我正在尝试删除烛台中的日期间隔(这些间隔是股市收盘的时间段,因此没有数据)。似乎找不到一个好的解决方案来使用plotly graph对象。有可行的方法吗?
我的代码如下(使用plotly graph对象):
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)
4条答案
按热度按时间ergxz8rk1#
你可以通过范围转折来达到这个目的。
下面是隐藏交易时间和周末以外的代码。
这是Plotly医生
cwtwac6a2#
您可以设置
rangebreaks
选项:1.你必须找到
missing
值(假日,周末,休息日等)您可以使用以下两行代码
1.将
fig.update
放在fig.show()
之前。h9vpoimq3#
TLDR:我遇到了同样的问题,在plotly的文档中找不到任何解决方案。我在plotly R社区找到的唯一建议是将x轴作为类别而不是日期时间。但我仍然无法让它工作,因为
fig.layout()
没有这样的属性可用。对于您的代码,将Datetime更改为字符串,以强制其为非datetime类型轴
这应该可以解决日期时间间隔的问题。
fykwrbwg4#
我们可以设置
rangebreaks
选项:1.填充具有间隙的
nan
(即,重新索引 Dataframe );1.为所有
nan
值创建datebreaks
;1.在
xaxes
配置上设置范围中断值