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 gylphs. Bokeh plots constructed using bokeh.plotting interface use a default set of tools and styles. However, it is possible to customize the styles using available plotting tools.
Different types of plots created using glyphs are as given below −
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.
This is typically useful for indicating the count of each category of a particular column or field in your dataset.
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.
This type of plot is used to visualize relationship between two variables and to indicate the strength of correlation between them.
Different glyph plots are formed by calling appropriate method of Figure class. The Figure object is obtained by following constructor −
from bokeh.plotting import figure figure(**kwargs)
The Figure object can be customised by various keyword arguments.
Sr.No | Title | Set the title for the plot |
---|---|---|
1 | x_axis_label | Set title of x axis |
2 | y_axis_label | Set title for y axis |
3 | plot_width | Set width of figure |
4 | plot_height | Set height of figure |
The line() method of Figure object adds a line glyph to the Bokeh figure. It needs x and y parameters as data arrays for showing their linear relationship.
from bokeh.plotting import figure, show fig = figure() fig.line(x,y) show(fig)
Following code renders a simple line plot between two sets of values in the form 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)
The figure object has two different methods for constructing bar plot
The bars are shown horizontally across plot width. The hbar() method has the following parameters −
Sr.No | y | The y coordinates of the centers of the horizontal bars. |
---|---|---|
1 | height | The heights of the vertical bars. |
2 | right | The x coordinates of the right edges. |
3 | left | The x coordinates of the left edges. |
Following code is an example of 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)
The bars are shown vertically across plot height. The vbar() method has following parameters −
Sr.No | x | The x-coordinates of the centers of the vertical bars. |
---|---|---|
1 | width | The widths of the vertical bars. |
2 | top | The y-coordinates of the top edges. |
3 | bottom | The 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)
A plot which shades a region of space in a specific color to show a region or a group having similar properties is termed as a patch plot in Bokeh. Figure object has patch() and patches() methods for this purpose.
This method adds patch glyph to given figure. The method has the following arguments −
1 | x | The x-coordinates for the points of the patch. |
2 | y | The 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)
This method is used to draw multiple polygonal patches. It needs following arguments −
1 | xs | The x-coordinates for all the patches, given as a “list of lists”. |
2 | ys | The 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)
Scatter plots are very commonly used to determine the bi-variate 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 −
1 | x | values or field names of center x coordinates |
2 | y | values or field names of center y coordinates |
3 | size | values or field names of sizes in screen units |
4 | marker | values or field names of marker types |
5 | color | set fill and line color |
Following marker type constants are defined in Bokeh: −
Following Python code generates scatter plot 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)