Bokeh - Grafici con glifi

Ogni trama è solitamente composta da una o più forme geometriche come line, circle, rectangle,ecc. Queste forme contengono informazioni visive sul set di dati corrispondente. Nella terminologia Bokeh, queste forme geometriche sono chiamate Gylph. Trame Bokeh costruite utilizzandobokeh.plotting interfaceutilizzare un set predefinito di strumenti e stili. Tuttavia, è possibile personalizzare gli stili utilizzando gli strumenti di stampa disponibili.

Tipi di grafici

I diversi tipi di grafici creati utilizzando i glifi sono indicati di seguito:

Grafico a linee

Questo tipo di grafico è utile per visualizzare i movimenti dei punti lungo gli assi xey sotto forma di una linea. Viene utilizzato per eseguire analisi di serie temporali.

Bar trama

Ciò è in genere utile per indicare il conteggio di ciascuna categoria di una particolare colonna o campo nel set di dati.

Trama patch

Questo grafico indica una regione di punti in una particolare tonalità di colore. Questo tipo di grafico viene utilizzato per distinguere diversi gruppi all'interno dello stesso set di dati.

Trama a dispersione

Questo tipo di grafico viene utilizzato per visualizzare la relazione tra due variabili e per indicare la forza della correlazione tra di loro.

Diversi grafici di glifi vengono formati chiamando il metodo appropriato della classe Figure. L'oggetto Figure si ottiene seguendo il costruttore:

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

L'oggetto Figure può essere personalizzato da vari argomenti di parole chiave.

Suor n Titolo Imposta il titolo per la trama
1 x_axis_label Imposta il titolo dell'asse x
2 y_axis_label Imposta il titolo per l'asse y
3 plot_width Imposta la larghezza della figura
4 plot_height Imposta l'altezza della figura

Grafico a linee

Il line() methoddell'oggetto Figura aggiunge un glifo a linea alla figura Bokeh. Ha bisogno dei parametri xey come array di dati per mostrare la loro relazione lineare.

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

Il codice seguente esegue il rendering di un semplice grafico a linee tra due set di valori nella forma di oggetti elenco 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)

Produzione

Bar trama

L'oggetto figura ha due metodi diversi per costruire il grafico a barre

hbar ()

Le barre vengono visualizzate orizzontalmente lungo la larghezza del grafico. Ilhbar() method ha i seguenti parametri:

Suor n y Le coordinate y dei centri delle barre orizzontali.
1 altezza Le altezze delle barre verticali.
2 destra Le coordinate x dei bordi di destra.
3 sinistra Le coordinate x dei bordi sinistri.

Il codice seguente è un esempio di 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)

Produzione

vbar ()

Le barre vengono visualizzate verticalmente lungo l'altezza del grafico. Ilvbar() method ha i seguenti parametri:

Suor n X Le coordinate x dei centri delle barre verticali.
1 larghezza Le larghezze delle barre verticali.
2 superiore Le coordinate y dei bordi superiori.
3 parte inferiore Le coordinate y dei bordi inferiori.

Viene visualizzato il codice seguente 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)

Produzione

Trama patch

Un grafico che ombreggia una regione dello spazio con un colore specifico per mostrare una regione o un gruppo con proprietà simili viene definito grafico a toppe in Bokeh. L'oggetto Figura ha i metodi patch () e patches () per questo scopo.

patch ()

Questo metodo aggiunge il glifo della patch alla figura data. Il metodo ha i seguenti argomenti:

1 X Le coordinate x per i punti della patch.
2 y Le coordinate y per i punti della patch.

Un semplice patch plot è ottenuto dal seguente codice 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)

Produzione

cerotti()

Questo metodo viene utilizzato per disegnare più patch poligonali. Ha bisogno dei seguenti argomenti:

1 xs Le coordinate x per tutte le patch, fornite come un "elenco di elenchi".
2 ys Le coordinate y per tutte le patch, fornite come un "elenco di elenchi".

Come esempio del metodo patches (), esegui il codice seguente:

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)

Produzione

Marcatori a dispersione

I grafici a dispersione sono molto comunemente usati per determinare la relazione bi-variata tra due variabili. La maggiore interattività viene aggiunta a loro utilizzando Bokeh. Il grafico a dispersione si ottiene chiamando il metodo scatter () dell'oggetto Figure. Utilizza i seguenti parametri:

1 X valori o nomi di campo delle coordinate x centrali
2 y valori o nomi di campo delle coordinate y del centro
3 taglia valori o nomi di campo delle dimensioni in unità dello schermo
4 pennarello valori o nomi di campo dei tipi di marker
5 colore imposta il riempimento e il colore della linea

Le seguenti costanti del tipo di marker sono definite in Bokeh: -

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

Il seguente codice Python genera un grafico a dispersione con segni di cerchio.

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)

Produzione