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操作mongodb根据_id查询数据的实现方法
May 20 Python
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
Django自定义认证方式用法示例
Jun 23 Python
Python判断两个对象相等的原理
Dec 12 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
简单谈谈python基本数据类型
Sep 26 Python
python 定时器,轮询定时器的实例
Feb 20 Python
python字典一键多值实例代码分享
Jun 14 Python
PyCharm搭建Spark开发环境的实现步骤
Sep 05 Python
JetBrains PyCharm(Community版本)的下载、安装和初步使用图文教程详解
Mar 19 Python
Python测试框架:pytest学习笔记
Oct 20 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
PHP的类 功能齐全的发送邮件类
2006/10/09 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
ThinkPHP3.1新特性之内容解析输出详解
2014/06/19 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
基于jquery实现的上传图片及图片大小验证、图片预览效果代码
2011/04/12 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
ionic2 tabs使用 Modal底部tab弹出框
2016/12/30 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
vue better-scroll插件使用详解
2018/01/25 Javascript
微信小程序中上传图片并进行压缩的实现代码
2018/08/28 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
Python生成随机密码的方法
2017/06/16 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
2020/03/02 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
什么是TCP/IP
2014/07/27 面试题
中年人生感言
2014/02/04 职场文书
公司司机岗位职责
2014/02/07 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
限期整改通知书
2015/04/22 职场文书
处罚决定书范文
2015/06/24 职场文书
有关三国演义的读书笔记
2015/06/25 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
Vue Element plus使用方法梳理
2022/12/24 Vue.js