Python 数据可视化之Bokeh详解


Posted in Python onNovember 02, 2021

安装

要安装此类型,请在终端中输入以下命令。

pip install bokeh

Python 数据可视化之Bokeh详解

散点图

散点图中散景可以使用绘图模块的散射()方法被绘制。这里分别传递 x 和 y 坐标。

例子:

# 导入模块
from bokeh.plotting import figure, output_file, show
from bokeh.palettes import magma
import pandas as pd

# 实例化图形对象
graph = figure(title = "Bokeh Scatter Graph")
# 读取数据库
data = pd.read_csv("tips.csv")
color = magma(256)
# 绘制图形
graph.scatter(data['total_bill'], data['tip'], color=color)
# 展示模型
show(graph)

输出:

Python 数据可视化之Bokeh详解

折线图

例子:

# 导入模块from bokeh.plotting import figure, output_file, showimport pandas as pd# 实例化图形对象graph = figure(title = "Bokeh Bar Chart")# 读取数据库data = pd.read_csv("tips.csv")# 提示列的每个唯一值的计数df = data['tip'].value_counts()# 绘制图形graph.line(df, data['tip'])# 展示模型show(graph)

输出:

Python 数据可视化之Bokeh详解

条形图

条形图可以有水平条和垂直条两种类型。 每个都可以分别使用绘图界面的 hbar() 和 vbar() 函数创建。

例子:

# 导入模块from bokeh.plotting import figure, output_file, showimport pandas as pd# 实例化图形对象graph = figure(title = "Bokeh Bar Chart")# 读取数据库data = pd.read_csv("tips.csv")# 绘制图形graph.vbar(data['total_bill'], top=data['tip'])# 展示模型show(graph)

输出:

Python 数据可视化之Bokeh详解

交互式数据可视化

Bokeh 的主要功能之一是为绘图添加交互性。 让我们看看可以添加的各种交互。

Interactive Legends

click_policy 属性使图例具有交互性。 有两种类型的交互

  • 隐藏:隐藏字形。
  • 静音:隐藏字形使其完全消失,另一方面,静音字形只是根据参数去强调字形。

例子:

# 导入模块
from bokeh.plotting import figure, output_file, show
import pandas as pd

# 实例化图形对象
graph = figure(title = "Bokeh Bar Chart")
# 读取数据库
data = pd.read_csv("tips.csv")
# 绘制图形
graph.vbar(data['total_bill'], top=data['tip'],
		legend_label = "Bill VS Tips", color='green')
graph.vbar(data['tip'], top=data['size'],
		legend_label = "Tips VS Size", color='red')
graph.legend.click_policy = "hide"
# 展示模型
show(graph)

输出:

Python 数据可视化之Bokeh详解

添加小部件

Bokeh 提供了类似于 HTML 表单的 GUI 功能,如按钮、滑块、复选框等。这些为绘图提供了一个交互界面,允许更改绘图参数、修改绘图数据等。让我们看看如何使用和添加一些常用的小部件。

按钮

这个小部件向绘图添加了一个简单的按钮小部件。 我们必须将自定义 JavaScript 函数传递给模型类的 CustomJS() 方法。

复选框

向图中添加标准复选框。与按钮类似,我们必须将自定义 JavaScript 函数传递给模型类的 CustomJS() 方法。

单选按钮

添加一个简单的单选按钮并接受自定义 JavaScript 函数。

例子:

from bokeh.io import show
from bokeh.models import Button, CheckboxGroup, RadioGroup, CustomJS
button = Button(label="GFG")
button.js_on_click(CustomJS(
	code="console.log('button: click!', this.toString())"))
# 复选框和单选按钮的标签
L = ["First", "Second", "Third"]
# 活动参数集默认检查选定的值
checkbox_group = CheckboxGroup(labels=L, active=[0, 2])
checkbox_group.js_on_click(CustomJS(code="""
	console.log('checkbox_group: active=' + this.active, this.toString())
"""))
# 活动参数集默认检查选定的值
radio_group = RadioGroup(labels=L, active=1)
radio_group.js_on_click(CustomJS(code="""
	console.log('radio_group: active=' + this.active, this.toString())
"""))
show(button)
show(checkbox_group)
show(radio_group)

输出:

Python 数据可视化之Bokeh详解

Python 数据可视化之Bokeh详解

Python 数据可视化之Bokeh详解

注意: 所有这些按钮都将在新选项卡上打开。

滑块: 向绘图添加一个滑块。 它还需要一个自定义的 JavaScript 函数。

示例:

from bokeh.io import show
from bokeh.models import CustomJS, Slider
slider = Slider(start=1, end=20, value=1, step=2, title="Slider")
slider.js_on_change("value", CustomJS(code="""
	console.log('slider: value=' + this.value, this.toString())
"""))
show(slider)

输出:

Python 数据可视化之Bokeh详解

同样,更多的小部件可用,如下拉菜单或选项卡小部件可以添加。

下一节我们继续谈第四个库—— Plotly

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
python正则表达式判断字符串是否是全部小写示例
Dec 25 Python
python使用win32com在百度空间插入html元素示例
Feb 20 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
Mar 30 Python
python创建进程fork用法
Jun 04 Python
使用python获取csv文本的某行或某列数据的实例
Apr 03 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
python mqtt 客户端的实现代码实例
Sep 25 Python
python创建ArcGIS shape文件的实现
Dec 06 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
你应该知道的Python3.6、3.7、3.8新特性小结
May 12 Python
Python数据可视化图实现过程详解
Jun 12 Python
Python 解析xml文件的示例
Sep 29 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
PHP网站提速三大“软”招
2006/10/09 PHP
php获取地址栏信息的代码
2008/10/08 PHP
Yii实现自动加载类地图的方法
2015/04/01 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
jquery动态加载图片数据练习代码
2011/08/04 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
nodejs简单实现操作arduino
2016/09/25 NodeJs
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
[02:36]DOTA2混沌骑士 英雄基础教程
2013/11/26 DOTA
Python遍历numpy数组的实例
2018/04/04 Python
python样条插值的实现代码
2018/12/17 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
通过实例解析Python return运行原理
2020/03/04 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
Python Selenium库的基本使用教程
2021/01/04 Python
Book Depository欧盟:一家领先的国际图书零售商
2019/05/21 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
实习自我评价怎么写
2013/12/02 职场文书
学生打架检讨书大全
2014/01/23 职场文书
2015年社会实践个人总结
2015/03/06 职场文书
工作态度不好检讨书
2015/05/06 职场文书
专项资金申请报告
2015/05/15 职场文书
经济纠纷起诉状
2015/05/20 职场文书
监护人证明
2015/06/19 职场文书
趣味运动会口号
2015/12/24 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
Python爬虫入门案例之爬取去哪儿旅游景点攻略以及可视化分析
2021/10/16 Python
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL
Redis命令处理过程源码解析
2022/02/12 Redis
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS