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中遍历文件的3个方法
Sep 02 Python
python进程管理工具supervisor使用实例
Sep 17 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
May 31 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
python线程中的同步问题及解决方法
Aug 29 Python
python实现飞机大战游戏(pygame版)
Oct 26 Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 Python
Python实现冒泡排序算法的完整实例
Nov 04 Python
PyQt5通过信号实现MVC的示例
Feb 06 Python
Windows安装Anaconda3的方法及使用过程详解
Jun 11 Python
Python 数据可视化之Matplotlib详解
分位数回归模型quantile regeression应用详解及示例教程
Python常遇到的错误和异常
Nov 02 #Python
Python 数据可视化之Seaborn详解
关于python中模块和重载的问题
pandas中对文本类型数据的处理小结
Nov 01 #Python
Python游戏开发实例之graphics实现AI五子棋
You might like
PHP文件下载类
2006/12/06 PHP
php设计模式 Proxy (代理模式)
2011/06/26 PHP
php ci框架验证码实例分析
2013/06/26 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
php+curl 发送图片处理代码分享
2015/07/09 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
8个超实用的jQuery功能代码分享
2015/01/08 Javascript
JavaScript入门基础
2015/08/12 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
详解Angular开发中的登陆与身份验证
2016/07/27 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
vuejs 动态添加input框的实例讲解
2018/08/24 Javascript
JavaScript简单实现的仿微博留言功能示例
2019/01/17 Javascript
JS实现求字符串中出现最多次数的字符和次数示例
2019/07/05 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
微信小程序选择图片控件
2021/01/19 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
python 实现多维数组转向量
2019/11/30 Python
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
Exoticca英国:以最优惠的价格提供豪华异国情调旅行
2018/10/18 全球购物
关于圣诞节的广播稿
2014/01/26 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
优秀会计求职信
2014/07/04 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书
本地通过nginx配置反向代理的全过程记录
2021/03/31 Servers
Java中使用Filter过滤器的方法
2021/06/28 Java/Android
mysql如何配置白名单访问
2021/06/30 MySQL
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python