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随机生成带特殊字符的密码
Mar 02 Python
Python实现计算最小编辑距离
Mar 17 Python
使用DataFrame删除行和列的实例讲解
Apr 08 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
Python 类的特殊成员解析
Jun 20 Python
python实现人民币大写转换
Jun 20 Python
Python 函数返回值的示例代码
Mar 11 Python
python 的 scapy库,实现网卡收发包的例子
Jul 23 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
查看已安装tensorflow版本的方法示例
Apr 19 Python
基于Python快速处理PDF表格数据
Jun 03 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
PHP 模板高级篇总结
2006/12/21 PHP
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
js性能优化 如何更快速加载你的JavaScript页面
2012/03/17 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
深入解析contentWindow, contentDocument
2013/07/04 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
IONIC自定义subheader的最佳解决方案
2016/09/22 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
微信小程序实现的贪吃蛇游戏【附源码下载】
2018/01/03 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
[27:53]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS iG
2014/05/26 DOTA
python解决方案:WindowsError: [Error 2]
2016/08/28 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
python 借助numpy保存数据为csv格式的实现方法
2018/07/04 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
三星美国官网:Samsung美国
2017/02/06 全球购物
结婚周年感言
2014/02/24 职场文书
社会治安综合治理管理责任书
2014/04/16 职场文书
财产分割协议书范本
2014/11/03 职场文书
2014年残联工作总结
2014/11/21 职场文书
党建工作汇报材料
2014/12/24 职场文书
师德师风个人总结
2015/02/06 职场文书
flex弹性布局详解
2022/03/20 HTML / CSS