Отметьте особые дни на графике - PullRequest
0 голосов
/ 27 сентября 2018

Я использую Plotly API для рисования линейных диаграмм из набора данных в python.Например, у меня есть этот набор данных за 2018 год.

2018

Теперь я хочу проверить погоду, если выходные дни имеют более высокий спрос, чем рабочие дни.Моя цель - отметить линии на диаграмме в субботу и воскресенье.Предоставляет ли Plotly методы для этого?Если нет, есть ли простой способ добиться этого?

1 Ответ

0 голосов
/ 27 сентября 2018

Вы можете сделать маркерный график и затем наложить линейный график, чтобы получить желаемый результат, где маркерный график должен быть передан со списком цветов, созданным на основе условия.

Чтобы получить четкийрисунок см. ниже коды,

# make a dummy time data

x_values = pd.date_range(start=pd.Timestamp('2018-01-01'), end=pd.Timestamp('2019-01-01'), freq='1 D')

# making a random time series
y_values = np.random.randn(len(x_values))

# making color list
# red if the day is saturday or sunday else green

colors = ['red' if int(pd.Timestamp(d).weekday()) >= 5 else 'green' for d in x_values]

# make the plot

trace_0 = go.Scatter(
    x=x_values,
    y=y_values,
    mode='markers',
    marker=dict(
        color = colors
    )
)

trace_1 = go.Scatter(
    x=x_values,
    y=y_values,
    mode='lines',
    marker=dict(
        color = 'black'
    )
)

layout = dict(
    title='Time Series with Rangeslider',
    xaxis=dict(
        rangeselector=dict(
            buttons=list([
                dict(count=1,
                     label='1m',
                     step='month',
                     stepmode='backward'),
                dict(count=6,
                     label='6m',
                     step='month',
                     stepmode='backward'),
                dict(step='all')
            ])
        ),
        rangeslider=dict(
            visible = True
        ),
        type='date'
    )
)

fig = {
    'data': [trace_0, trace_1],
    'layout': layout,
}

py.iplot(fig, filename='Plot')

График вывода

enter image description here

Я также реализовал ползунок диапазона, если это не такнеобходимо отредактировать его из макета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...