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递归遍历列表及输出的实现方法
May 19 Python
Python的标准模块包json详解
Mar 13 Python
深入浅析Python传值与传址
Jul 10 Python
python3 flask实现文件上传功能
Mar 20 Python
Python 转换文本编码实现解析
Aug 27 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
Python帮你识破双11的套路
Nov 11 Python
使用tensorflow实现矩阵分解方式
Feb 07 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
python新式类和经典类的区别实例分析
Mar 23 Python
python 识别登录验证码图片功能的实现代码(完整代码)
Jul 03 Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
destoon会员注册提示“数据校验失败(2)”解决方法
2014/06/21 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
php使用event扩展的io复用测试的示例
2020/10/20 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
js原生appendChild的bug解决心得分享
2013/07/01 Javascript
Ionic快速安装教程
2016/06/03 Javascript
jQuery获取同级元素的简单代码
2016/07/09 Javascript
巧用jQuery选择器提高写表单效率的方法
2016/08/19 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
Python封装shell命令实例分析
2015/05/05 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
python实现批量文件重命名
2019/10/31 Python
Python 如何对文件目录操作
2020/07/10 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
日本食品网上商店:JaponShop.com
2017/11/28 全球购物
信息部岗位职责
2013/11/12 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
《学会合作》教学反思
2014/04/12 职场文书
员工考核评语大全
2014/04/26 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
夫妻婚内购房协议书
2014/10/05 职场文书
中小企业员工手册范本
2015/05/14 职场文书