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基于ID3思想的决策树
Jan 03 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
Feb 05 Python
详谈pandas中agg函数和apply函数的区别
Apr 20 Python
Python解决八皇后问题示例
Apr 22 Python
Python面向对象之类和对象属性的增删改查操作示例
Dec 14 Python
python3 cvs将数据读取为字典的方法
Dec 22 Python
selenium+python自动化测试环境搭建步骤
Jun 03 Python
python print出共轭复数的方法详解
Jun 25 Python
python科学计算之narray对象用法
Nov 25 Python
python实现两个字典合并,两个list合并
Dec 02 Python
python numpy矩阵信息说明,shape,size,dtype
May 22 Python
利于python脚本编写可视化nmap和masscan的方法
Dec 29 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
php学习笔记之 函数声明(二)
2011/06/09 PHP
php中Session的生成机制、回收机制和存储机制探究
2014/08/19 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
js实现通用的微信分享组件示例
2014/03/10 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
python记录程序运行时间的三种方法
2017/07/14 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
python中的迭代和可迭代对象代码示例
2017/12/27 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
python超时重新请求解决方案
2019/10/21 Python
python实现异常信息堆栈输出到日志文件
2019/12/26 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
如何通过python实现全排列
2020/02/11 Python
基于python3生成标签云代码解析
2020/02/18 Python
浅谈Python 钉钉报警必备知识系统讲解
2020/08/17 Python
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
给面试官的感谢信
2014/02/01 职场文书
雏鹰争章活动总结
2014/05/09 职场文书
设计大赛策划方案
2014/06/13 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
python 中的@运算符使用
2021/05/26 Python
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL