如何解决plotly , 绘制烛台 <daily , 任何人都尝试过
有人试图使用 plotly 在 python 上绘制每小时的蜡烛图吗?我正在尝试,但您基本上可以根据日期将所有烛台时间绘制在彼此之上。有没有办法在输入日期和时间的地方绘制数小时以阻止任何重叠?我在下面开始的代码
fivedaydata.tail()
import plotly.graph_objects as go
#create 1 week graph 5 days = 120hrs
fig = go.Figure(data=[go.Candlestick(x=fivedaydata.Time,open=fivedaydata['Open'],high=fivedaydata['High'],low=fivedaydata['Low'],close=fivedaydata['Close'])])
fig.show()
解决方法
- 采集了一些 OHLC 样本数据,然后每小时重新模拟一次。在这个模拟中,我认为只需要交易时间。
- 已经用你的代码绘制了这个,它有效。在没有交易的几个小时和没有交易的几天(周末)之间存在差距
- 再次绘制,但使用数据帧索引作为 xaxis。使用时间列 中的值更新了轴刻度
- 在这两种情况下,蜡烛都不会重叠绘制。我只能假设您的时间列是一个字符串并且在交易日内重复
import plotly.graph_objects as go
# get some data
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv")
# remap to 5 days of hourly data... hence only 8 hrs a day
fivedaydata = (
df.head(8 * 5)
.assign(Time=np.array([pd.date_range(d + pd.Timedelta(hours=9),freq="H",periods=8)
for d in pd.bdate_range(df.loc[0,"Date"],periods=5,freq="B")
]).flatten()
)
.rename(columns={c: c.split(".")[1] for c in df.columns if "AAPL" in c})
)
go.Figure(
data=[
go.Candlestick(
x=fivedaydata.Time,open=fivedaydata["Open"],high=fivedaydata["High"],low=fivedaydata["Low"],close=fivedaydata["Close"],)
]
).show()
go.Figure(
data=[
go.Candlestick(
x=fivedaydata.index,)
]).update_layout(xaxis = {"tickmode":'array',"tickvals" : fivedaydata.index,"ticktext" : fivedaydata["Time"].dt.strftime("%H%p %d %b")})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。