Bokeh – Plots with Glyphs

Bokeh - Plots with Glyphs

In this chapter, we will discuss Bokeh Plots with Glyphs. Any plot is usually made up of one or many geometrical shapes such as line, circle, rectangle, etc. These shapes have visual information about the corresponding set of data. In Bokeh terminology, these geometrical shapes are called glyphs. Bokeh plots constructed using bokeh. plotting interface uses a default set of tools and styles. However, it is possible to customize the styles using available plotting tools.

Types of Bokeh Plots with Glyphs

Different types of plots created using glyphs are as given below −

Line plot

This type of plot is useful for visualizing the movements of points along the x-and y-axes in the form of a line. It is used to perform time-series analytics.

Bar plot

This is typically useful for indicating the count of each category of a particular column or field in your dataset.

Patch plot

This plot indicates a region of points in a particular shade of color. This type of plot is used to distinguish different groups within the same dataset.

Scatter plot

This type of plot is used to visualize the relationship between two variables and to indicate the strength of correlation between them.

Different glyph plots are formed by calling the appropriate method of the Figure class. The Figure object is obtained by the following constructor −

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

The Figure object can be customized by various keyword arguments.

Sr.NoTitleSet the title for the plot
1x_axis_labelSet the title of the x-axis
2y_axis_labelSet title for the y-axis
3plot_widthSet width of the figure
4plot_heightSet the height of the figure

Line plot

The line() method of the Figure object adds a line glyph to the Bokeh figure. It needs x and y parameters as data arrays for showing their linear relationship of Bokeh – Plots with Glyphs

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

The following code renders a simple line plot between two sets of values in the form of Python list objects −

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)

Output

Bokeh - Plots with Glyphs

Bar plot

The figure object has two different methods for constructing a bar plot

hbar()

The bars are shown horizontally across plot width. The bar() method has the following parameters −

Sr.NoyThe y coordinates of the centers of the horizontal bars.
1heightThe heights of the vertical bars.
2rightThe x coordinates of the right edges.
3leftThe x coordinates of the left edges.

The following code is an example of a horizontal bar using 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)

Output

Bokeh - Plots with Glyphs

vbar()

The bars are shown vertically across plot height. The bar() method has the following parameters −

Sr.NoxThe x-coordinates of the centers of the vertical bars.
1widthThe widths of the vertical bars.
2topThe y-coordinates of the top edges.
3bottomThe y-coordinates of the bottom edges.

Following code displays 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)

Output

Bokeh - Plots with Glyphs

Patch plot

A plot that shades a region of space in a specific color to show a region or a group having similar properties is termed a patch plot in Bokeh. Figure object has a patch() and patches() methods for this purpose.

patch()

This method adds patch glyph to the given figure. The method has the following arguments −

1xThe x-coordinates for the points of the patch.
2yThe y-coordinates for the points of the patch.

A simple patch plot is obtained by the following Python code −

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)

Output

Bokeh - Plots with Glyphs

patches()

This method is used to draw multiple polygonal patches. It needs the following arguments −

1xsThe x-coordinates for all the patches, given as a “list of lists”.
2ysThe y-coordinates for all the patches, given as a “list of lists”.

As an example of patches() method, run the following code −

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)

Output

Bokeh - Plots with Glyphs

Scatter Markers

Scatter plots are very commonly used to determine the bivariate relationship between two variables. The enhanced interactivity is added to them using Bokeh. Scatter plot is obtained by calling scatter() method of Figure object. It uses the following parameters −

1xvalues or field names of center x coordinates
2yvalues or field names of center y coordinates
3sizevalues or field names of sizes in screen units
4markervalues or field names of marker types
5colorset fill and line color

Following marker type constants are defined in Bokeh: −

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

Following Python code generates scatter plots with circle marks.

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)

Output

Bokeh - Plots with Glyphs

Next Topic – Click Here

This Post Has One Comment

Leave a Reply