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 socket网络编程步骤详解(socket套接字使用)
Dec 06 Python
使用Python中PDB模块中的命令来调试Python代码的教程
Mar 30 Python
浅谈django model的get和filter方法的区别(必看篇)
May 23 Python
详解用python实现简单的遗传算法
Jan 02 Python
python中for用来遍历range函数的方法
Jun 08 Python
python自动化生成IOS的图标
Nov 13 Python
Django 路由控制的实现
Jul 17 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
Nov 16 Python
将python字符串转化成长表达式的函数eval实例
May 11 Python
python pygame 愤怒的小鸟游戏示例代码
Feb 25 Python
如何判断pytorch是否支持GPU加速
Jun 01 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
Apr 04 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
PHP下几种删除目录的方法总结
2007/08/19 PHP
一个PHP的String类代码
2010/04/20 PHP
PHP性能优化 产生高度优化代码
2011/07/22 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
js查找父节点的简单方法
2008/06/28 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
js实现的牛顿摆效果
2015/03/31 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
移动端界面的适配
2017/01/11 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
React实现todolist功能
2020/12/28 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
Python中str is not callable问题详解及解决办法
2017/02/10 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
Python插件机制实现详解
2020/05/04 Python
python ssh 执行shell命令的示例
2020/09/29 Python
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
美国巧克力喷泉品牌:Sephra
2019/05/05 全球购物
什么是继承
2013/12/07 面试题
境外导游求职信
2014/02/27 职场文书
理财计划书
2014/08/14 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
小学运动会加油稿
2015/07/22 职场文书
用Python创建简易网站图文教程
2021/06/11 Python