Python Bokeh – Plotting Hexagon Dots on a Graph

Bokeh is a Python interactive data visualization. It renders its plots using HTML and JavaScript. It targets modern web browsers for presentation providing elegant, concise construction of novel graphics with high-performance interactivity.

Bokeh can be used to plot hexagon dots on a graph. Plotting hexagon dots on a graph can be done using the hex_dot() method of the plotting module.

plotting.figure.hex_dot()

Syntax : hex_dot(parameters)

Parameters :

  • x : x-coordinates of the center of the hexagon dot markers
  • y : y-coordinates of the center of the hexagon dot markers
  • size : diameter of the hexagon dot markers, default is 4
  • angle : angle of rotation of the hexagon dot markers, default is 0
  • angle_units : unit of the angle, default is rad
  • fill_alpha : fill alpha value of the hexagon dot markers
  • fill_color : fill color value of the hexagon dot markers
  • line_alpha : percentage value of line alpha, default is 1
  • line_cap : value of line cap for the line, default is butt
  • line_color : color of the line, default is black
  • line_dash : value of line dash such as : solid, dashed, dotted, dotdash, dashdot [default is solid ]
  • line_dash_offset : value of line dash offset, default is 0
  • line_join : value of line join, default in bevel
  • line_width : value of the width of the line, default is 1
  • name : user-supplied name for the model
  • tags : user-supplied values for the model

Other Parameters :



  • alpha : sets all alpha keyword arguments at once
  • color : sets all color keyword arguments at once
  • legend_field : name of a column in the data source that should be used
  • legend_group : name of a column in the data source that should be used
  • legend_label : labels the legend entry
  • muted : determines whether the glyph should be rendered as muted or not, default is False
  • name : optional user-supplied name to attach to the renderer
  • source : user-supplied data source
  • view : view for filtering the data source
  • visible : determines whether the glyph should be rendered or not, default is True
  • x_range_name : name of an extra range to use for mapping x-coordinates
  • y_range_name : name of an extra range to use for mapping y-coordinates
  • level : specifies the render level order for this glyph

Returns : an object of class GlyphRenderer

Example 1 : In this example we will be using the default values for plotting the graph. We have provided the size and fill_color attributes to make the glyph visible.

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing the modules 
from bokeh.plotting import figure, output_file, show 
       
# file to save the model 
output_file("gfg.html"
       
# instantiating the figure object 
graph = figure(title = "Bokeh Hexagon Dot Graph"
     
# the points to be plotted 
x = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
y = [i ** 2 for i in x] 
    
# plotting the graph 
graph.hex_dot(x, y, size = 25, fill_color = None
     
# displaying the model 
show(graph) 

chevron_right


Output :

Example 2 : In this example we will be plotting the hexagon dots where the sizes are in proportion to their values and various other parameters

filter_none

edit
close

play_arrow

link
brightness_4
code

# importing the modules 
from bokeh.plotting import figure, output_file, show 
       
# file to save the model 
output_file("gfg.html"
       
# instantiating the figure object 
graph = figure(title = "Bokeh Hexagon Dot Graph"
     
# name of the x-axis 
graph.xaxis.axis_label = "x-axis"
      
# name of the y-axis 
graph.yaxis.axis_label = "y-axis"
     
# the points to be plotted 
x = [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5
y = [i ** 2 for i in x] 
     
# size of the diamonds 
size = [i * 2 for i in y] 
     
# angle of the diamonds 
angle = 10
    
# fill color value 
fill_color = "yellow"
    
# color of the line 
line_color = "red"
    
# name of the legend 
legend_label = "Sample Hexagons"
      
# plotting the graph 
graph.hex_dot(x, y, 
              size = size, 
              angle = angle, 
              fill_color = fill_color, 
              line_color = line_color, 
              legend_label = legend_label) 
       
# displaying the model 
show(graph)

chevron_right


Output :




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.