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入门篇之编程习惯与特点
Oct 17 Python
win8下python3.4安装和环境配置图文教程
Jul 31 Python
浅析Python函数式编程
Oct 06 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
Python 实现子类获取父类的类成员方法
Jan 11 Python
pthon贪吃蛇游戏详细代码
Jan 27 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
Pytest mark使用实例及原理解析
Feb 22 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
python设置中文界面实例方法
Oct 27 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
Jun 11 Python
Python中的datetime包与time包包和模块详情
Feb 28 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
PHP 表单提交给自己
2008/07/24 PHP
PHP备份/还原MySQL数据库的代码
2011/01/06 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
php访问数组最后一个元素的函数end()用法
2015/03/18 PHP
PHP制作用户注册系统
2015/10/23 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
2015/12/23 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
js操作select控件的几种方法
2010/06/02 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
js数组转json并在后台对其解析具体实现
2013/11/20 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
浅谈JS原生Ajax,GET和POST
2016/06/08 Javascript
基于Require.js使用方法(总结)
2017/10/26 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
django批量导入xml数据
2016/10/16 Python
Python BS4库的安装与使用详解
2018/08/08 Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
2019/04/29 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
Pureology官网:为染色头发打造最好的产品
2019/09/13 全球购物
如何清空Session
2015/02/23 面试题
会计专业应届生求职信
2013/11/24 职场文书
篮球友谊赛通讯稿
2014/10/10 职场文书
员工工作能力评语
2014/12/31 职场文书
汽车转让协议书
2015/01/29 职场文书