Создать сюжетную линейную диаграмму, где линия окрашена категорией? - PullRequest
0 голосов
/ 10 июня 2018

Мне нужно создать простой линейный график, закрашенный категориальным столбцом данных.Данные - это данные временного ряда, которые необходимо раскрасить по категориям.Кто-нибудь знает, как установить цветовую категорию в простом линейном графике или графике временных рядов по категории, используя python plotly api?

x_axes - данные времени y_axes - данные глубины от 0 'до 5000' категории - on_bottom, off_bottom, сверление и т. д.

Примером вывода может быть приведенный ниже график, окрашенный столбцом категории, как указано выше?

Plotly Python - Пример графика временных рядов

1 Ответ

0 голосов
/ 11 июня 2018

Вам необходимо сгруппировать данные и показать их в разных кривых на графике.Вы можете сделать это, используя DataFrame Subsetting.Основная строка, которая выполняет поднабор, выглядит следующим образом.

df[df['direction'] == 'Increasing']['AAPL.Open']

В разделе df[df['direction'] == 'Increasing'] происходит следующее: мы проверяем, равен ли столбец direction кадра данных Increasing значению /Если для этой категории установлено значение true, тогда фрейм данных поднастроен так, что присутствуют только эти значения, тогда мы можем выбрать конкретный столбец для построения графика, выбрав столбец с использованием части ['AAPL.Open']

Пожалуйста, обратитесь к приведенному ниже примеру иЯ знаю, если ваша проблема решена!

Код:

import plotly.offline as py
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, iplot, plot
from plotly import tools
import pandas as pd
import numpy as np
init_notebook_mode(connected=True)

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

opening_increasing = go.Scatter(
                x=df.Date,
                y=df[df['direction'] == 'Increasing']['AAPL.Open'],
                name = "AAPL Opening Price - Increasing",
                line = dict(color = '#17BECF'),
                opacity = 0.8)

opening_decreasing = go.Scatter(
                x=df.Date,
                y=df[df['direction'] == 'Decreasing']['AAPL.Open'],
                name = "AAPL Opening Price - Decreasing",
                line = dict(color = '#7F7F7F'),
                opacity = 0.8)

data = [opening_increasing, opening_decreasing]

layout = dict(
    title = "Apple Opening Price by Increasing/Decreasing Categories of Direction"
)

fig = dict(data=data, layout=layout)
py.iplot(fig, filename = "Manually Set Range")

Вывод:

enter image description here

...