【问题标题】:Draw line in plotly between 2 points?在2点之间画线?
【发布时间】:2022-01-07 00:10:36
【问题描述】:

代码如下:

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

# build complete timepline from start date to end date
dt_all = pd.date_range(start=raw_bn1['Date'].iloc[0],end=raw_bn1['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(raw_bn1['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]

fig = go.Figure(data=[go.Candlestick(x=raw_bn1['Date'],
                open=raw_bn1['Open'],
                high=raw_bn1['High'],
                low=raw_bn1['Low'],
                close=raw_bn1['Close'])])
fig.update_layout(xaxis_rangeslider_visible=False)
fig.update_xaxes(rangebreaks=[dict(values=dt_breaks)])
fig.show()

我由此得到一个烛台图。现在我想用直线加入 2 个日期(前 2020 年 12 月 1 日和 2021 年 8 月 13 日)“高”。怎么办?

【问题讨论】:

    标签: plotly


    【解决方案1】:

    线段是使用官方参考中的烛台数据添加的。添加折线图后,将 x 轴设置为开始日期、结束日期,将 y 轴设置为列表中开始日期的价格和结束日期的价格。

    import plotly.graph_objects as go
    import pandas as pd
    
    df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')
    
    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'])
                         ])
    
    fig.add_trace(go.Scatter(x=['2016-11-02','2017-01-26'], y=[111,125], mode='lines', name='trend line', line=dict(color='blue')))
    fig.update_layout(xaxis_rangeslider_visible=False)
    fig.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多