Python Bokeh – Plotting a Line Graph

03 Jul, 2020
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.
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 :soliddasheddotteddotdashdashdotdefault is solid
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 :
Data Visualization
Python-Bokeh
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Read JSON file using Python
Adding new column to existing DataFrame in Pandas
Python map() function
How to get column names in Pandas dataframe
Python Dictionary
Different ways to create Pandas Dataframe
Taking input in Python
Enumerate() in Python
Read a file line by line in Python
Python String | replace()