Боке: построение большого набора данных - PullRequest
0 голосов
/ 06 сентября 2018

Я пытаюсь построить график, который очень похож на пример range_tool.py https://bokeh.pydata.org/en/latest/docs/gallery/range_tool.html

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

Примеры списков:

b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] phred = [17, 16, 6, 15, 6, 7, 6, 7, 9, 11, 16, 13, 9, 11, 12, 13, 6, 12, 13, 7] Я хочу построить b против p и получить ту же визуализацию изображения, что и в ссылке выше. Цель состоит в том, чтобы увидеть распределение phred по b. Приведенный ниже код возвращает график, но я хочу лучше визуализировать изменчивость в phred по сравнению с b, и я не уверен, какие настройки нужно настроить, так что это больше похоже на приведенный выше пример.

from bokeh.io import show
from bokeh.layouts import column
from bokeh.models import ColumnDataSource, RangeTool
from bokeh.plotting import figure

p = figure(plot_height=300, plot_width=800, tools="", toolbar_location=None, x_range=(0, 50000))

p.line(b, phred)
p.yaxis.axis_label = 'phred score'

select = figure(plot_height=150, plot_width=800, y_range=p.y_range, y_axis_type=None, tools="", toolbar_location=None)

range_rool = RangeTool(x_range=p.x_range)
range_rool.overlay.fill_color = "navy"
range_rool.overlay.fill_alpha = 0.2

select.line(b, phred)
select.ygrid.grid_line_color = None
select.add_tools(range_rool)
select.toolbar.active_multi = range_rool

show(column(p, select))

Вот мой график

сюжет боке

Ответы [ 2 ]

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

После игры я обнаружил простое исправление, чтобы лучше видеть данные в строке 1

установка первого x_range графика на меньшее число x_range=(0, 2000)

Эта настройка улучшает сюжет улучшенный сюжет боке

Если у кого-нибудь есть предложения по просмотру таких переменных данных, пожалуйста, поделитесь

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

Вы используете «p» в качестве имени для фигуры и одного из ваших списков данных!

Вы должны передать список объектов, а не их имена в виде строк.

Попытка:

b = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
c = [17, 16, 6, 15, 6, 7, 6, 7, 9, 11, 16, 13, 9, 11, 12, 13, 6, 12, 13, 7]
p.line(b, c)
...