holoviews - блокпост только из агрегированных данных - PullRequest
0 голосов
/ 05 октября 2018

У меня большой набор данных, на котором я хочу построить диаграммы коробчатых диаграмм для некоторых столбцов, чтобы я собирал значения в SQL и передавал их в python.

Можно ли создать коробочную диаграммусоставить диаграмму в головиевах, используя только агрегированные значения вместо необработанных данных?

Может кто-нибудь продемонстрировать на этом упрощенном примере, пожалуйста,

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(1000000, 1), columns=list('A'))

1 Ответ

0 голосов
/ 05 октября 2018

Это немного неясно из вашего вопроса, предварительно агрегируя, я предполагаю, что вы имеете в виду, что вы уже вычислили средние, квартили и т. Д. Для каждой серии, и вы хотите нарисовать прямоугольную диаграмму непосредственно из них?Я не думаю, что в Holoviews что-то есть, но достаточно просто использовать Bokeh напрямую, что я бы посоветовал:

from bokeh.plotting import figure, show

# aggregated data
cats = list("abcdef")
mean = [-0.04, 0.16, 1.07, 0.92, 1.95, 1.99]
q1 = [-0.77, -0.54, 0.25, 0.27, 1.24, 1.39]
q3 = [0.63, 0.79, 1.72, 1.63, 2.57, 2.63]
upper = [2.72, 2.70, 3.75, 3.68, 4.56, 4.50]
lower = [-2.87, -2.55, -1.38, -1.72, -0.74, -0.473]

p = figure(x_range=cats)

# stems
p.segment(cats, upper, cats, q3, color="black")
p.segment(cats, lower, cats, q1, color="black")

# boxes
p.vbar(cats, 0.7, mean, q3, fill_color="#E08E79", line_color="black")
p.vbar(cats, 0.7, q1, mean, fill_color="#3B8686", line_color="black")

# whiskers (almost-0 height rects simpler than segments)
p.rect(cats, lower, 0.2, 0.01, color="black")
p.rect(cats, upper, 0.2, 0.01, color="black")

p.xgrid.grid_line_color = None

show(p)

enter image description here

...