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实现DNS正向查询、反向查询的例子
Apr 25 Python
python使用正则表达式检测密码强度源码分享
Jun 11 Python
python简单实现基于SSL的IRC bot实例
Jun 15 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
python 用正则表达式筛选文本信息的实例
Jun 05 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
python Django中models进行模糊查询的示例
Jul 18 Python
用Python从0开始实现一个中文拼音输入法的思路详解
Jul 20 Python
Pandas之groupby( )用法笔记小结
Jul 23 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
Python换行与不换行的输出实例
Feb 19 Python
Python如何使用ConfigParser读取配置文件
Nov 12 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
PHP实现的比较完善的购物车类
2014/12/02 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
PHP进程通信基础之信号
2017/02/19 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
Javascript this关键字使用分析
2008/10/21 Javascript
jQuery Real Person验证码插件防止表单自动提交
2015/11/06 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
2016/08/09 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
完美解决js传递参数中加号和&号自动改变的方法
2016/10/11 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
Vue基于localStorage存储信息代码实例
2020/11/16 Javascript
手动实现vue2.0的双向数据绑定原理详解
2021/02/06 Vue.js
python getopt 参数处理小示例
2009/06/09 Python
Python将图片转换为字符画的方法
2020/06/16 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
Python使用sort和class实现的多级排序功能示例
2018/08/15 Python
python实现彩色图转换成灰度图
2019/01/15 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
Python魔法方法功能与用法简介
2019/04/04 Python
python实现接口并发测试脚本
2019/06/25 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
网络安全类面试题
2015/08/01 面试题
优秀女职工事迹材料
2014/02/06 职场文书
2015元旦家电促销活动策划方案
2014/12/09 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
优秀班集体事迹材料
2014/12/25 职场文书
劳动仲裁调解书
2015/05/20 职场文书
党员廉政准则心得体会
2016/01/20 职场文书
win10下go mod配置方式
2021/04/25 Golang
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js