Bokeh - plotagens com glifos

Qualquer gráfico é geralmente composto de uma ou mais formas geométricas, como line, circle, rectangle,etc. Essas formas têm informações visuais sobre o conjunto de dados correspondente. Na terminologia Bokeh, essas formas geométricas são chamadas de glifos. Bokeh plotagens construídas usandobokeh.plotting interfaceuse um conjunto padrão de ferramentas e estilos. No entanto, é possível personalizar os estilos usando as ferramentas de plotagem disponíveis.

Tipos de parcelas

Diferentes tipos de gráficos criados usando glifos são fornecidos abaixo -

Gráfico de linha

Este tipo de gráfico é útil para visualizar os movimentos de pontos ao longo dos eixos xey na forma de uma linha. É usado para realizar análises de séries temporais.

Gráfico de barra

Isso geralmente é útil para indicar a contagem de cada categoria de uma coluna ou campo específico em seu conjunto de dados.

Patch plot

Este gráfico indica uma região de pontos em uma determinada tonalidade de cor. Este tipo de gráfico é usado para distinguir grupos diferentes dentro do mesmo conjunto de dados.

Gráfico de dispersão

Este tipo de gráfico é usado para visualizar a relação entre duas variáveis ​​e para indicar a força da correlação entre elas.

Diferentes gráficos de glifos são formados chamando o método apropriado da classe Figura. O objeto Figura é obtido seguindo o construtor -

from bokeh.plotting import figure
figure(**kwargs)

O objeto Figure pode ser personalizado por vários argumentos de palavra-chave.

Sr. Não Título Defina o título do enredo
1 x_axis_label Definir título do eixo x
2 y_axis_label Definir título para o eixo y
3 plot_width Definir a largura da figura
4 plot_height Definir altura da figura

Gráfico de linha

o line() methoddo objeto Figura adiciona um glifo de linha à figura Bokeh. Ele precisa dos parâmetros xey como matrizes de dados para mostrar seu relacionamento linear.

from bokeh.plotting import figure, show
fig = figure()
fig.line(x,y)
show(fig)

O código a seguir renderiza um gráfico de linha simples entre dois conjuntos de valores na forma de objetos de lista do Python -

from bokeh.plotting import figure, output_file, show
x = [1,2,3,4,5]
y = [2,4,6,8,10]
output_file('line.html')
fig = figure(title = 'Line Plot example', x_axis_label = 'x', y_axis_label = 'y')
fig.line(x,y)
show(fig)

Resultado

Gráfico de barra

O objeto de figura tem dois métodos diferentes para construir o gráfico de barra

hbar ()

As barras são mostradas horizontalmente na largura do gráfico. ohbar() method tem os seguintes parâmetros -

Sr. Não y As coordenadas y dos centros das barras horizontais.
1 altura As alturas das barras verticais.
2 direito As coordenadas x das arestas direitas.
3 esquerda As coordenadas x das bordas esquerdas.

O código a seguir é um exemplo de horizontal bar usando Bokeh.

from bokeh.plotting import figure, output_file, show
fig = figure(plot_width = 400, plot_height = 200)
fig.hbar(y = [2,4,6], height = 1, left = 0, right = [1,2,3], color = "Cyan")
output_file('bar.html')
show(fig)

Resultado

vbar ()

As barras são mostradas verticalmente na altura do gráfico. ovbar() method tem os seguintes parâmetros -

Sr. Não x As coordenadas x dos centros das barras verticais.
1 largura As larguras das barras verticais.
2 topo As coordenadas y das arestas superiores.
3 inferior As coordenadas y das arestas inferiores.

O código a seguir exibe vertical bar plot -

from bokeh.plotting import figure, output_file, show
fig = figure(plot_width = 200, plot_height = 400)
fig.vbar(x = [1,2,3], width = 0.5, bottom = 0, top = [2,4,6], color = "Cyan")
output_file('bar.html')
show(fig)

Resultado

Patch plot

Um gráfico que sombreia uma região do espaço com uma cor específica para mostrar uma região ou grupo com propriedades semelhantes é denominado como um gráfico de correção em Bokeh. O objeto Figura possui os métodos patch () e patches () para esse propósito.

fragmento()

Este método adiciona glifo de patch a determinada figura. O método possui os seguintes argumentos -

1 x As coordenadas x para os pontos do patch.
2 y As coordenadas y para os pontos do patch.

Um simples patch plot é obtido pelo seguinte código Python -

from bokeh.plotting import figure, output_file, show
p = figure(plot_width = 300, plot_height = 300)
p.patch(x = [1, 3,2,4], y = [2,3,5,7], color = "green")
output_file('patch.html')
show(p)

Resultado

patches ()

Este método é usado para desenhar vários patches poligonais. Necessita dos seguintes argumentos -

1 xs As coordenadas x para todos os patches, fornecidas como uma “lista de listas”.
2 sim As coordenadas y para todos os patches, fornecidas como uma “lista de listas”.

Como exemplo do método patches (), execute o seguinte código -

from bokeh.plotting import figure, output_file, show
xs = [[5,3,4], [2,4,3], [2,3,5,4]]
ys = [[6,4,2], [3,6,7], [2,4,7,8]]
fig = figure()
fig.patches(xs, ys, fill_color = ['red', 'blue', 'black'], line_color = 'white')
output_file('patch_plot.html')
show(fig)

Resultado

Marcadores de dispersão

Gráficos de dispersão são muito comumente usados ​​para determinar a relação bivariada entre duas variáveis. A interatividade aprimorada é adicionada a eles usando Bokeh. O gráfico de dispersão é obtido chamando o método scatter () do objeto Figura. Ele usa os seguintes parâmetros -

1 x valores ou nomes de campo das coordenadas x do centro
2 y valores ou nomes de campo de coordenadas y de centro
3 Tamanho valores ou nomes de campos de tamanhos em unidades de tela
4 marcador valores ou nomes de campo de tipos de marcadores
5 cor definir preenchimento e cor da linha

As seguintes constantes de tipo de marcador são definidas no Bokeh: -

  • Asterisk
  • Circle
  • CircleCross
  • CircleX
  • Cross
  • Dash
  • Diamond
  • DiamondCross
  • Hex
  • InvertedTriangle
  • Square
  • SquareCross
  • SquareX
  • Triangle
  • X

Seguir o código Python gera gráfico de dispersão com marcas circulares.

from bokeh.plotting import figure, output_file, show
fig = figure()
fig.scatter([1, 4, 3, 2, 5], [6, 5, 2, 4, 7], marker = "circle", size = 20, fill_color = "grey")
output_file('scatter.html')
show(fig)

Resultado