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和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
selenium+python自动化测试之多窗口切换
Jan 23 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
如何使用Python实现斐波那契数列
Jul 02 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
python字符串中匹配数字的正则表达式
Jul 03 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
Dec 06 Python
django model object序列化实例
Mar 13 Python
解决在keras中使用model.save()函数保存模型失败的问题
May 21 Python
基于Python把网站域名解析成ip地址
May 25 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
如何利用PHP执行.SQL文件
2013/07/05 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
2016/08/21 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
jQuery 解析xml文件
2009/08/09 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
javascript中Number的方法小结
2016/11/21 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
Angular使用动态加载组件方法实现Dialog的示例
2018/05/11 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
ES6字符串的扩展实例
2020/12/21 Javascript
Python字典及字典基本操作方法详解
2018/01/30 Python
win8下python3.4安装和环境配置图文教程
2018/07/31 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
H5 video poster属性设置视频封面的方法
2020/05/25 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
2014年公司迎新年活动方案
2014/02/24 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
迎国庆演讲稿
2014/09/05 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
MySQL数据库查询进阶之多表查询详解
2022/04/08 MySQL
python区块链持久化和命令行接口实现简版
2022/05/25 Python