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编程过程中用单元测试法调试代码的介绍
Apr 02 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
python使用tcp实现局域网内文件传输
Mar 20 Python
将Django项目部署到CentOs服务器中
Oct 18 Python
python频繁写入文件时提速的方法
Jun 26 Python
Python3安装pip工具的详细步骤
Oct 14 Python
opencv之为图像添加边界的方法示例
Dec 26 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
python rolling regression. 使用 Python 实现滚动回归操作
Jun 08 Python
关于 Python json中load和loads区别
Nov 07 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
使用PHP获取网络文件的实现代码
2010/01/01 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
php发送短信验证码完成注册功能
2015/11/24 PHP
Yii2框架实现登陆添加验证码功能示例
2018/07/12 PHP
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
bootstrap的3级菜单样式,支持母版页保留打开状态实现方法
2016/11/10 Javascript
bootstrap表格分页实例讲解
2016/12/30 Javascript
JSONP跨域请求
2017/03/02 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
浅析Vue中method与computed的区别
2018/03/06 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
django 外键model的互相读取方法
2018/12/15 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
就业协议书范本
2014/04/11 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
毕业生自荐信范文
2015/03/05 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS