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 将字符串转换成字典dict
Mar 24 Python
Python连接DB2数据库
Aug 27 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
May 25 Python
分享一个可以生成各种进制格式IP的小工具实例代码
Jul 28 Python
python3的输入方式及多组输入方法
Oct 17 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
PyTorch加载自己的数据集实例详解
Mar 18 Python
python中有帮助函数吗
Jun 19 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
php 深入理解strtotime函数的使用详解
2013/05/23 PHP
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
php生成gif动画的方法
2015/11/05 PHP
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
JavaScript 原型继承
2011/12/26 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
2020/09/04 Javascript
python实现ip查询示例
2014/03/26 Python
Python实现去除代码前行号的方法
2015/03/10 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
什么是Python中的顺序表
2020/06/02 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
python 无损批量压缩图片(支持保留图片信息)的示例
2020/09/22 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
Python爬取某平台短视频的方法
2021/02/08 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
CSS3正方体旋转示例代码
2013/08/08 HTML / CSS
程序集与命名空间有什么不同
2014/07/25 面试题
2013年保送生自荐信格式
2013/11/20 职场文书
招商业务员岗位职责
2013/12/16 职场文书
办理退休介绍信
2014/01/09 职场文书
教育科研先进个人材料
2014/01/26 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
优秀团员自我评价
2015/03/10 职场文书
先进基层党组织事迹材料2016
2016/02/29 职场文书