Bokeh是Python中的一个数据可视化库,提供高性能的交互式图表和图表。Bokeh输出可以在笔记本、html、服务器等多种介质中获得。可以在Django和flask应用程序中嵌入bokeh绘图功能。
Bokeh为用户提供了两个可视化界面:
Bokeh.models:为应用程序开发人员提供高灵活性的低层接口。
Bokeh.plotting:用于创建可视符号的高级接口。
要安装bokeh软件包,请在终端运行以下命令:
pip install bokeh
用于生成bokeh图的数据集可以从这里下载。
1、散点标记
要创建散点圆标记,使用circle()方法。
# import modules
from bokeh.plotting import figure, output_notebook, show
output_notebook()
# 创建图
p = figure(plot_width = 400, plot_height = 400)
# 创建圆形渲染器
p.circle([1, 2, 3, 4, 5], [4, 7, 1, 6, 3],
size = 10, color = "navy", alpha = 0.5)
# 展示结果
show(p)
2、折线图
创建折线图,使用line()方法
# import modules
from bokeh.plotting import figure, output_notebook, show
output_notebook()
# 创建图
p = figure(plot_width = 400, plot_height = 400)
# 添加一个线渲染器
p.line([1, 2, 3, 4, 5], [3, 1, 2, 6, 5],
line_width = 2, color = "green")
# 展示结果
show(p)
3、条形柱状图
柱状图用矩形柱表示分类数据。条的长度与所表示的值成正比。
# import modules
import pandas as pd
from bokeh.charts import Bar, output_notebook, show
output_notebook()
# 读取dataframe中的数据
df = pd.read_csv(r"D:/kaggle/mcdonald/menu.csv")
# 创建条
p = Bar(df, "Category", values = "Calories",
title = "Total Calories by Category",
legend = "top_right")
# 展示结果
show(p)
4、方框图
方框图用于表示一个图上的统计数据。它有助于总结数据中存在的各种数据组的统计特性。
# import modules
from bokeh.charts import BoxPlot, output_notebook, show
import pandas as pd
output_notebook()
# 从dataframe中读取数据
df = pd.read_csv(r"D:/kaggle / mcdonald / menu.csv")
p = BoxPlot(df, values = "Protein", label = "Category",
color = "yellow", title = "Protein Summary (grouped by category)",
legend = "top_right")
# 展示结果
show(p)
5、直方图
直方图用来表示数值数据的分布。直方图中矩形的高度与类间隔中值的频率成正比。
from bokeh.charts import Histogram, output_notebook, show
import pandas as pd
output_notebook()
df = pd.read_csv(r"D:/kaggle / mcdonald / menu.csv")
p = Histogram(df, values = "Total Fat",
title = "Total Fat Distribution",
color = "navy")
show(p)
6、散点图
散点图用于绘制数据集中两个变量的值。它有助于找到所选的两个变量之间的相关性。
from bokeh.charts import Scatter, output_notebook, show
import pandas as pd
output_notebook()
df = pd.read_csv(r"D:/kaggle / mcdonald / menu.csv")
p = Scatter(df, x = "Carbohydrates", y = "Saturated Fat",
title = "Saturated Fat vs Carbohydrates",
xlabel = "Carbohydrates", ylabel = "Saturated Fat",
color = "orange")
show(p)