您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Plotly:如何设置绘图图形的样式,以使其不显示缺失日期的间隙?

Plotly:如何设置绘图图形的样式,以使其不显示缺失日期的间隙?

即使数据集中缺少某些日期,也可以将日期作为日期值进行解释,甚至在时间轴上显示丢失的日期。一种解决方案是获取一个和最后一个日期,构建完整的时间轴,找出原始数据集中缺少的日期,并将这些日期包括在以下内容中:

fig.update_xaxes(rangebreaks=[dict(values=dt_breaks)])

这将使这个数字:

在此处输入图片说明

变成这个:

在此处输入图片说明

import plotly.graph_objects as go
from datetime import datetime
import pandas as pd
import numpy as np

# sample data
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')

# remove some dates to build a similar case as in the question
df = df.drop(df.index[75:110])
df = df.drop(df.index[210:250])
df = df.drop(df.index[460:480])

# build complete timepline from start date to end date
dt_all = pd.date_range(start=df['Date'].iloc[0],end=df['Date'].iloc[-1])

# retrieve the dates that ARE in the original datset
dt_obs = [d.strftime("%Y-%m-%d") for d in pd.to_datetime(df['Date'])]

# define dates with missing values
dt_breaks = [d for d in dt_all.strftime("%Y-%m-%d").tolist() if not d in dt_obs]

# make fiuge
fig = go.figure(data=[go.Candlestick(x=df['Date'],
                open=df['AAPL.Open'], high=df['AAPL.High'],
                low=df['AAPL.Low'], close=df['AAPL.Close'])
                      ])

# hide dates with no values
fig.update_xaxes(rangebreaks=[dict(values=dt_breaks)])

fig.update_layout(yaxis_title='AAPL Stock')

fig.show()
其他 2022/1/1 18:31:08 有445人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶