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 相关文章推荐
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
Jul 04 Python
Python pickle模块用法实例分析
May 27 Python
Python之str操作方法(详解)
Jun 19 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
Aug 08 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
Oct 09 Python
Numpy之将矩阵拉成向量的实例
Nov 30 Python
用Python生成HTML表格的方法示例
Mar 06 Python
python接入支付宝的实例操作
Jul 20 Python
python批量修改文件名的示例
Sep 27 Python
python从Oracle读取数据生成图表
Oct 14 Python
python自动从arxiv下载paper的示例代码
Dec 05 Python
Python获取指定日期是"星期几"的6种方法
Mar 13 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
人大复印资料处理程序_补充篇
2006/10/09 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
2013/08/08 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
学习JavaScript设计模式之装饰者模式
2016/01/19 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
2016/09/20 Javascript
AngularJS实践之使用NgModelController进行数据绑定
2016/10/08 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
vue调试工具vue-devtools安装及使用方法
2018/11/07 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
js实现点赞效果
2020/03/16 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
原生小程序封装跑马灯效果
2020/10/21 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python实现ssh批量登录并执行命令
2016/10/25 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
Python简单基础小程序的实例代码
2019/04/28 Python
python上selenium的弹框操作实现
2020/07/13 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
党建工作经验交流材料
2014/05/25 职场文书
警察群众路线整改措施
2014/09/26 职场文书
小学运动会报道稿
2014/10/04 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
python如何进行基准测试
2021/04/26 Python
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
微信小程序基础教程之echart的使用
2021/06/01 Javascript
Python实现双向链表基本操作
2022/05/25 Python