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实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
python版opencv摄像头人脸实时检测方法
Aug 03 Python
PyCharm鼠标右键不显示Run unittest的解决方法
Nov 30 Python
python pandas写入excel文件的方法示例
Jun 25 Python
Python实现二叉搜索树BST的方法示例
Jul 30 Python
使用python实现unix2dos和dos2unix命令的例子
Aug 13 Python
python列表推导式操作解析
Nov 26 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
基于python连接oracle导并出数据文件
Apr 28 Python
Python 字典中的所有方法及用法
Jun 10 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
上海无线电三厂简史修改版
2021/03/01 无线电
AM/FM收音机的安装与调试
2021/03/02 无线电
PHP中ADODB类详解
2008/03/25 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
jQuery 使用手册(一)
2009/09/23 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
跟老齐学Python之一个免费的实验室
2014/09/14 Python
更新修改后的Python模块方法
2019/03/03 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
python 5个实用的技巧
2020/09/27 Python
python pyg2plot的原理知识点总结
2021/02/28 Python
工程预算与管理应届生求职信
2013/10/06 职场文书
2014国培学习感言
2014/03/05 职场文书
护士毕业实习感言
2014/03/05 职场文书
二年级学生评语大全
2014/04/23 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
公司感谢信范文
2015/01/22 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
virtualenv隔离Python环境的问题解析
2022/06/21 Python