浮动棒图在Plotly

时间:2015-05-27 09:25:02

标签: plotly

我怎样才能生成这种类型的浮动棒#39; (或'高/低'?)图表使用Plotly?我已经看过这些例子并且找不到任何相同的东西 - 最重要的是设置不会从零开始的条形图/条形图。

请注意,这些行不是错误栏。

Example plot

2 个答案:

答案 0 :(得分:2)

制作贴图的一种方法是在asymmetric error bars上使用zero width的负偏移。这是一个例子:

import plotly.plotly as py
from plotly.graph_objs import ErrorY, Scatter

x = [1, 2, 3, 4]
y = [4, 7, 5, 9]
stick_top = [10, 6, 7, 11]
stick_bottom = [6, 4, 3, 4]

error_bar_positive_offset = [si - yi for (yi, si) in zip(y, stick_top)]
error_bar_negative_offset = [yi - si for (yi, si) in zip(y, stick_bottom)]

py.plot([
    Scatter(x=x, y=y, mode='markers',
        error_y=ErrorY(
            symmetric=False, 
            array=error_bar_positive_offset, 
            arrayminus=error_bar_negative_offset,
            width=0
        )
    )], filename='stick-chart')

Stick chart made with Plotly https://plot.ly/~chris/15416

答案 1 :(得分:0)

以防万一这个问题再次与某人相关,我应该强调指出,plotly现在具有创建烛台图的方法:https://plotly.com/python/candlestick-charts/

例如:

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.update_layout(xaxis_rangeslider_visible=False)
fig.show()