✨ Bokeh Cheat Sheet

🎡 Site oficial do Bokeh (Documentação)

# Comando / Função / Parâmetro O que faz Exemplo
1figure()Cria um novo objeto de figura para plotagemp = figure(title="Graf")
2show()Exibe o gráfico em um navegadorshow(p)
3output_file()Configura o destino de saída para um arquivo HTMLoutput_file("plot.html")
4output_notebook()Configura o Bokeh para exibir no Jupyter Notebookoutput_notebook()
5save()Salva a plotagem em um arquivosave(p)
6p.circle()Adiciona marcadores circularesp.circle(x, y, size=10)
7p.line()Desenha um gráfico de linhap.line(x, y, line_width=2)
8p.square()Adiciona marcadores quadradosp.square(x, y, color="red")
9p.rect()Desenha retângulos (eixo, largura, altura)p.rect(x, y, width, height)
10p.hbar()Barras horizontaisp.hbar(y, right, height)
11p.vbar()Barras verticaisp.vbar(x, top, width)
12p.patch()Desenha um polígono simplesp.patch(x, y, color="blue")
13p.patches()Desenha múltiplos polígonosp.patches([x1, x2], [y1, y2])
14p.annulus()Desenha anéis (círculos vazados)p.annulus(x, y, inner, outer)
15p.wedge()Desenha fatias de pizza/arcosp.wedge(x, y, radius, start, end)
16p.step()Gráfico de degrausp.step(x, y, mode="center")
17p.scatter()Interface genérica para dispersãop.scatter(x, y, marker="hex")
18p.text()Adiciona texto ao gráficop.text(x, y, text=["Rótulo"])
19p.segment()Desenha segmentos de reta (x0, y0 para x1, y1)p.segment(x0, y0, x1, y1)
20p.ray()Desenha raios com comprimento e ângulop.ray(x, y, length, angle)
21p.image()Renderiza imagens brutasp.image(image=[data], x, y)
22p.image_rgba()Renderiza imagens RGBAp.image_rgba(image=[data], x, y)
23p.hex_tile()Cria grades hexagonais (binning)p.hex_tile(q, r, size=1)
24p.multi_line()Desenha várias linhas independentesp.multi_line([x1, x2], [y1, y2])
25ColumnDataSourceObjeto principal de dados do Bokehsource = ColumnDataSource(df)
26source.dataDicionário interno de dadossource.data['nova'] = [1, 2]
27CDSViewPermite criar filtros sobre o ColumnDataSourceview = CDSView(filter=f)
28BooleanFilterFiltra dados usando booleanosBooleanFilter([True, False])
29IndexFilterFiltra dados por índices específicosIndexFilter([0, 2, 4])
30HoverToolExibe informações ao passar o mouseHoverTool(tooltips=[("V", "@val")])
31BoxZoomToolFerramenta de zoom por caixap.add_tools(BoxZoomTool())
32WheelZoomToolZoom via scroll do mousep.add_tools(WheelZoomTool())
33ResetToolReseta a visualização do gráficop.add_tools(ResetTool())
34SaveToolBotão para salvar como imagem PNGp.add_tools(SaveTool())
35PanToolArrasta o gráficop.toolbar.active_drag = PanTool()
36TapToolPermite interações de clique nos glifosp.add_tools(TapTool())
37CrosshairToolMostra mira nos eixosp.add_tools(CrosshairTool())
38LassoSelectToolSeleção manual de pontos com laçop.add_tools(LassoSelectTool())
39tooltips=Define o conteúdo do balão de ajudatooltips="@nome: @valor"
40column()Organiza plots verticalmentelayout = column(p1, p2)
41row()Organiza plots horizontalmentelayout = row(p1, p2)
42gridplot()Cria uma grade de múltiplos gráficosgridplot([[p1, p2], [p3, p4]])
43p.title.textDefine o texto do títulop.title.text = "Novo"
44p.xaxis.axis_labelLegenda do eixo Xp.xaxis.axis_label = "Tempo"
45p.yaxis.axis_labelLegenda do eixo Yp.yaxis.axis_label = "Valor"
46p.background_fill_colorCor de fundo da área do plotp.background_fill_color = "beige"
47p.grid.grid_line_colorCor das linhas de gradep.grid.grid_line_color = None
48p.legend.locationPosição da legendap.legend.location = "top_left"
49p.legend.click_policyAção ao clicar na legenda ('hide', 'mute')p.legend.click_policy = "hide"
50p.x_rangeRange manual do eixo Xp.x_range = Range1d(0, 10)
51fill_color=Cor de preenchimentofill_color="#ff0000"
52fill_alpha=Opacidade do preenchimentofill_alpha=0.5
53line_color=Cor da borda/linhaline_color="black"
54line_dash=Estilo da linha ('solid', 'dashed')line_dash="dotdash"
55legend_label=Texto para a legenda do glifolegend_label="Set 1"
56muted_alpha=Opacidade quando silenciado via legendamuted_alpha=0.1
57nonselection_alpha=Opacidade de itens não selecionadosnonselection_alpha=0.2
58Viridis256Paleta de cores Viridisfrom bokeh.palettes import Viridis256
59Spectral6Paleta espectral com 6 coresfrom bokeh.palettes import Spectral6
60linear_cmap()Mapeamento de cor linear para dadoslinear_cmap('y', 'Viridis256', 0, 10)
61log_cmap()Mapeamento de cor logarítmicolog_cmap('y', 'Magma256', 1, 100)
62CategoricalColorMapperMapeia cores para categoriasCategoricalColorMapper(factors=f, palette=p)
63Slider()Widget de controle deslizanteSlider(start=0, end=10, value=1)
64Select()Menu suspenso de seleçãoSelect(options=['A', 'B'], value='A')
65Button()Botão clicávelButton(label="Clique Aqui")
66TextInput()Campo para entrada de textoTextInput(value="default")
67CheckboxGroup()Grupo de caixas de seleçãoCheckboxGroup(labels=["Op1", "Op2"])
68RadioGroup()Grupo de botões de rádioRadioGroup(labels=["A", "B"])
69DataTable()Tabela de dados interativa na UIDataTable(source=src, columns=cols)
70Tabs()Organiza layouts em abasTabs(tabs=[tab1, tab2])
71Panel()Cria uma aba (componente do Tabs)Panel(child=p, title="Aba 1")
72curdoc()Referência ao documento atual (Bokeh Server)curdoc().add_root(layout)
73CustomJSExecuta código JavaScript no lado do clienteCustomJS(args=dict(s=src), code="...")
74js_on_change()Gatilha JS ao mudar uma propriedadeobj.js_on_change('value', callback)
75on_change()Gatilha Python ao mudar valor (Server)obj.on_change('value', callback)
76DatetimeTickFormatterFormata datas nos eixosp.xaxis.formatter = DatetimeTickFormatter()
77NumeralTickFormatterFormata números (ex: moeda)p.yaxis.formatter = NumeralTickFormatter(format="$0,0")
78LogColorMapperEscala de cores logarítmicaLogColorMapper(palette="Viridis256")
79p.x_axis_typeTipo de escala do eixo ('log', 'datetime')figure(x_axis_type="datetime")
80p.xaxis.major_label_orientationRotaciona os labels do eixop.xaxis.major_label_orientation = 1.2
81p.axis.visibleMostra ou esconde eixosp.axis.visible = False
82Label()Adiciona um rótulo de texto fixop.add_layout(Label(x=1, y=2, text="Hi"))
83Span()Desenha uma linha infinita (horizontal/vertical)Span(location=10, dimension='width')
84BoxAnnotation()Destaque de área (sombreado)BoxAnnotation(left=2, right=5, fill_alpha=0.1)
85Arrow()Adiciona setas indicativasp.add_layout(Arrow(end=VeeHead(), x_start=0...))
86ColorBar()Adiciona uma barra de legenda de coresp.add_layout(ColorBar(color_mapper=m))
87p.toolbar_locationDefine onde fica a barra de ferramentasp.toolbar_location = "below"
88p.sizing_modeComportamento de redimensionamentop.sizing_mode = "stretch_width"
89p.outline_line_colorCor da linha de contorno externap.outline_line_color = "navy"
90p.min_borderMargem mínima ao redor do plotp.min_border = 40
91export_png()Exporta o plot para PNG (via selenium)export_png(p, filename="p.png")
92export_svgs()Exporta o plot para SVGexport_svgs(p, filename="p.svg")
93from_networkx()Cria visualização de grafos do NetworkXfrom_networkx(G, pos)
94Step()Glifo de degrau (baixo nível)p.add_glyph(src, Step(x="x", y="y"))
95VArea()Área preenchida verticalmentep.varea(x=x, y1=0, y2=y)
96HArea()Área preenchida horizontalmentep.harea(x1=0, x2=x, y=y)
97Whisker()Adiciona barras de erro/bigodesp.add_layout(Whisker(source=s, base="x", upper="u"))