Bokeh - wykresy z glifami

Każdy wykres składa się zwykle z jednego lub wielu kształtów geometrycznych, takich jak line, circle, rectangle,itd. Te kształty zawierają wizualne informacje o odpowiednim zestawie danych. W terminologii Bokeh te kształty geometryczne nazywane są glifami. Działki Bokeh zbudowane przy użyciubokeh.plotting interfaceużyj domyślnego zestawu narzędzi i stylów. Istnieje jednak możliwość dostosowania stylów za pomocą dostępnych narzędzi do drukowania.

Rodzaje działek

Różne typy działek utworzonych za pomocą glifów podano poniżej -

Wykres liniowy

Ten typ wykresu jest przydatny do wizualizacji ruchów punktów wzdłuż osi X i Y w postaci linii. Służy do analizy szeregów czasowych.

Działka barowa

Jest to zwykle przydatne do wskazywania liczby każdej kategorii określonej kolumny lub pola w zbiorze danych.

Działka patch

Ten wykres wskazuje obszar punktów w określonym odcieniu koloru. Ten typ wykresu służy do rozróżniania różnych grup w ramach tego samego zbioru danych.

Wykres punktowy

Ten typ wykresu służy do wizualizacji zależności między dwiema zmiennymi i wskazania siły korelacji między nimi.

Różne wykresy glifów są tworzone przez wywołanie odpowiedniej metody klasy Figure. Obiekt Figure jest uzyskiwany przez następujący konstruktor -

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

Obiekt Figure można dostosować za pomocą różnych argumentów słów kluczowych.

Sr.No Tytuł Ustaw tytuł fabuły
1 x_axis_label Ustaw tytuł osi x
2 y_axis_label Ustaw tytuł dla osi y
3 plot_width Ustaw szerokość figury
4 plot_height Ustaw wysokość figury

Wykres liniowy

Plik line() methodobiektu Figure dodaje glif linii do figury Bokeh. Potrzebuje parametrów x i y jako tablic danych do pokazania ich liniowej zależności.

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

Poniższy kod renderuje prosty wykres liniowy między dwoma zestawami wartości w postaci obiektów listy Pythona -

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)

Wynik

Działka barowa

Obiekt figura ma dwie różne metody tworzenia wykresu słupkowego

hbar ()

Słupki są pokazane poziomo na całej szerokości wydruku. Plikhbar() method ma następujące parametry -

Sr.No y Współrzędne y środków poziomych słupków.
1 wysokość Wysokości pionowych prętów.
2 dobrze Współrzędne x prawych krawędzi.
3 lewo Współrzędne x lewych krawędzi.

Poniższy kod jest przykładem horizontal bar używając 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)

Wynik

vbar ()

Słupki są pokazane pionowo w poprzek wysokości wykresu. Plikvbar() method ma następujące parametry -

Sr.No x Współrzędne x środków pionowych słupków.
1 szerokość Szerokości pionowych pasków.
2 Top Współrzędne y górnych krawędzi.
3 Dolny Współrzędne y dolnych krawędzi.

Zostanie wyświetlony następujący kod 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)

Wynik

Działka patch

Wykres, który cieniuje obszar przestrzeni określonym kolorem, aby pokazać region lub grupę o podobnych właściwościach, jest określany jako wykres plamkowy w Bokeh. Obiekt Figure ma do tego celu metody patch () i patches ().

łata()

Ta metoda dodaje glif łatki do podanej figury. Metoda ma następujące argumenty -

1 x Współrzędne x punktów łaty.
2 y Współrzędne y punktów łaty.

Prosty patch plot jest uzyskiwany za pomocą następującego kodu Pythona -

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)

Wynik

łaty ()

Ta metoda jest używana do rysowania wielu wielokątnych łat. Potrzebuje następujących argumentów -

1 xs Współrzędne x wszystkich poprawek, podane jako „lista list”.
2 ys Współrzędne y wszystkich poprawek podane jako „lista list”.

Jako przykład metody patches () uruchom następujący kod -

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)

Wynik

Znaczniki rozproszenia

Wykresy punktowe są bardzo często używane do określania relacji dwuzmiennych między dwiema zmiennymi. Ulepszona interaktywność jest dodawana do nich za pomocą Bokeh. Wykres punktowy uzyskuje się poprzez wywołanie metody scatter () obiektu Figure. Wykorzystuje następujące parametry -

1 x wartości lub nazwy pól współrzędnych środka x
2 y wartości lub nazwy pól współrzędnych y środka
3 rozmiar wartości lub nazwy pól o rozmiarach w jednostkach ekranu
4 znacznik wartości lub nazwy pól typów znaczników
5 kolor ustaw wypełnienie i kolor linii

W Bokeh zdefiniowano następujące stałe typu znacznika: -

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

Poniższy kod Pythona generuje wykres punktowy ze znacznikami w kształcie koła.

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)

Wynik