Python Bokeh – Plotting a Line 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 a line graph. Plotting a line graph can be done using the line() method of the plotting module.
plotting.figure.line()
Syntax : line(parameters)
Parameters :
- x : x-coordinates of the points to be plotted
- y : y-coordinates of the points to be plotted
- 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 this 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.
# importing the modulesfrom bokeh.plotting import figure, output_file, show # file to save the modeloutput_file("gfg.html") # instantiating the figure objectgraph = figure(title = "Bokeh Line Graph") # the points to be plottedx = [1, 2, 3, 4, 5]y = [1, 6, 8, 2, 3] # plotting the line graphgraph.line(x, y) # displaying the modelshow(graph) |
Output :
Example 2 :In this example we will be plotting a line graph with dotted lines alongside other parameters.
# importing the modulesfrom bokeh.plotting import figure, output_file, show # file to save the modeloutput_file("gfg.html") # instantiating the figure objectgraph = figure(title = "Bokeh Line Graph") # name of the x-axisgraph.xaxis.axis_label = "x-axis" # name of the y-axisgraph.yaxis.axis_label = "y-axis" # the points to be plottedx = [1, 2, 3, 4, 5]y = [5, 2, 1, 7, 1] # color of the lineline_color = "red" # type of lineline_dash = "dotted" # offset of line dashline_dash_offset = 1 # name of the legendlegend_label = "Sample Line" # plotting the line graph for AAPLgraph.line(x, y, line_color = line_color, line_dash = line_dash, line_dash_offset = line_dash_offset, legend_label = legend_label) # displaying the modelshow(graph) |
Output :
Example 3 :Now we will see how to plot multiple lines in the same graph. We will generate the points using the random() function.
# importing the modulesfrom bokeh.plotting import figure, output_file, showimport random # file to save the modeloutput_file("gfg.html") # instantiating the figure objectgraph = figure(title = "Bokeh Line Graph") # name of the x-axisgraph.xaxis.axis_label = "x-axis" # name of the y-axisgraph.yaxis.axis_label = "y-axis" # plotting line 1# generating the points to be plottedx = []y = []for i in range(100): x.append(i)for i in range(100): y.append(1 + random.random()) # parameters of line 1line_color = "red"line_dash = "solid"legend_label = "Line 1" # plotting the linegraph.line(x, y, line_color = line_color, line_dash = line_dash, legend_label = legend_label) # plotting line 2# generating the points to be plottedx = []y = []for i in range(100): x.append(i)for i in range(100): y.append(random.random()) # parameters of line 2line_color = "green"line_dash = "dotdash"line_dash_offset = 1legend_label = "Line 2" # plotting the linegraph.line(x, y, line_color = line_color, line_dash = line_dash, line_dash_offset = line_dash_offset, legend_label = legend_label) # displaying the modelshow(graph) |
Output :
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course


