2015-01-18 6 views
5

Я знаю, что я могу сделать логарифмические весы с боком помощью построения графиков API:Bokeh логарифмической шкалы для гистограммы

p = figure(
    tools="pan,box_zoom,reset,previewsave", 
    y_axis_type="log", y_range=[0.001, 10**22], title="log axis example", 
    x_axis_label='sections', y_axis_label='particles' 
) 

Однако, я не могу понять, как получить это применить на обзор высокого уровня такого как Bokeh.charts.Bar. В общем, у меня много проблем с grokking, что отношения между Chart и figure. Может ли кто-нибудь указать мне на какую-то документацию по этому поводу или объяснить, как изменять вещи, которые отображаются только по фигуре и влияют на мою диаграмму.

ответ

3

Я специально собираюсь обновить документацию, описывающую различные интерфейсы бока на этой неделю, но сейчас, три Bokeh API, в порядке возрастания «уровня»:

  • модель интерфейса: низкий уровень API , базовый слой сериализации, должен поставить все вместе все вручную
  • глифов интерфейса (bokeh.plotting): средний уровень API, легко создавать участки/фигуру, сосредоточенную вокруг визуальных символов с атрибутами, привязанных к данным
  • графики интерфейс (bokeh.charts): API высокого уровня для законсервированных/схематических статистических карт, например. «BoxPlot» и «Гистограмма».

Там нет особого отношения между figure и различными функциями диаграммы, за исключением того, что они оба производят подклассы Plot как выход.

Я не уверен, что в настоящее время можно добавить ось журнала на график штриховки в интерфейсе «диаграмм» (что было бы разумной возможностью добавить). Однако было бы просто сделать «квадратный ящик» с помощью среднего интерфейса «глифов», используя rect или quad глифов. Ниже приведен краткий пример:

from bokeh.plotting import figure, output_file, show 

output_file("bars.html") 

p = figure(title="log bar example", y_axis_type="log") 

p.quad(
    bottom=0, top=[10**5, 10**8, 10**3], 
    left=[0, 2, 4], right=[1,3,5] 
) 

show(p) 
+0

Как я могу построить код с помощью этих параметров: 'left = [0, 4, 2], right = [1,5,3]'? Поэтому я хочу, чтобы x_axis не сортировался. И в вашем коде я хочу, чтобы самое высокое значение ('10 ** 8') было последним. Спасибо!! – ragesz

+0

Вы можете указать значения в любом порядке. Вы ответили в своем вопросе. – bigreddot

+0

Хорошо, вы правы! (Мне было недостаточно ясно ...) Моя проблема в том, что у меня есть (числовые) ID-s по оси x, и я хочу отсортированную гистограмму, так что скажем 'my_value = 15' в' ID = 0', ' my_value = 10' в 'ID = 2' и' my_value = 5' в 'ID = 1'. Поэтому я хочу, чтобы ось x выглядела так: '0-2-1' и y-axis выглядят так:' 15-10-5'. Является ли это возможным? – ragesz

 Смежные вопросы

  • Нет связанных вопросов^_^