前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 Python 进行数据可视化之Bokeh

使用 Python 进行数据可视化之Bokeh

作者头像
海拥
发布2021-11-03 14:39:31
2.5K0
发布2021-11-03 14:39:31
举报
文章被收录于专栏:全栈技术全栈技术

🌊 作者主页:海拥 🌊 作者简介:🏆CSDN全栈领域优质创作者、🥇HDZ核心组成员、🥈蝉联C站周榜前十

上一篇文章我们介绍了 Seaborn,接下来让我们继续我们列表的第三个库。Bokeh 主要以其交互式图表可视化而闻名。Bokeh 使用 HTML 和 JavaScript 呈现其绘图,使用现代 Web 浏览器来呈现具有高级交互性的新颖图形的优雅、简洁构造。

安装

要安装此类型,请在终端中输入以下命令。

代码语言:javascript
复制
pip install bokeh
image.png
image.png

散点图

散点图中散景可以使用绘图模块的散射()方法被绘制。这里分别传递 x 和 y 坐标。

例子:

代码语言:javascript
复制
# 导入模块
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)

输出:

image.png
image.png

折线图

例子:

代码语言:javascript
复制
# 导入模块
from bokeh.plotting import figure, output_file, show
import 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)

输出:

image.png
image.png

条形图

条形图可以有水平条和垂直条两种类型。 每个都可以分别使用绘图界面的 hbar() 和 vbar() 函数创建。

例子:

代码语言:javascript
复制
# 导入模块
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'])

# 展示模型
show(graph)

输出:

image.png
image.png

交互式数据可视化

Bokeh 的主要功能之一是为绘图添加交互性。 让我们看看可以添加的各种交互。

Interactive Legends

click_policy 属性使图例具有交互性。 有两种类型的交互

  • 隐藏:隐藏字形。
  • 静音:隐藏字形使其完全消失,另一方面,静音字形只是根据参数去强调字形。

例子:

代码语言:javascript
复制
# 导入模块
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)

输出:

interactivelegendsbokeh.gif
interactivelegendsbokeh.gif

添加小部件

Bokeh 提供了类似于 HTML 表单的 GUI 功能,如按钮、滑块、复选框等。这些为绘图提供了一个交互界面,允许更改绘图参数、修改绘图数据等。让我们看看如何使用和添加一些常用的小部件。

按钮

这个小部件向绘图添加了一个简单的按钮小部件。 我们必须将自定义 JavaScript 函数传递给模型类的 CustomJS() 方法。

复选框

向图中添加标准复选框。与按钮类似,我们必须将自定义 JavaScript 函数传递给模型类的 CustomJS() 方法。

单选按钮

添加一个简单的单选按钮并接受自定义 JavaScript 函数。

例子:

代码语言: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)

输出:

image.png
image.png
image.png
image.png
image.png
image.png

注意: 所有这些按钮都将在新选项卡上打开。

滑块: 向绘图添加一个滑块。 它还需要一个自定义的 JavaScript 函数。

示例:

代码语言: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)

输出:

bokehtutorialslider.gif
bokehtutorialslider.gif

同样,更多的小部件可用,如下拉菜单或选项卡小部件可以添加。

下一节我们继续谈第四个库—— Plotly

🥇 Python 进行数据可视化系列汇总

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/11/01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 散点图
  • 折线图
  • 条形图
  • 交互式数据可视化
    • Interactive Legends
      • 添加小部件
        • 按钮
        • 复选框
        • 单选按钮
        • 滑块: 向绘图添加一个滑块。 它还需要一个自定义的 JavaScript 函数。
      • 🥇 Python 进行数据可视化系列汇总
      相关产品与服务
      图数据库 KonisGraph
      图数据库 KonisGraph(TencentDB for KonisGraph)是一种云端图数据库服务,基于腾讯在海量图数据上的实践经验,提供一站式海量图数据存储、管理、实时查询、计算、可视化分析能力;KonisGraph 支持属性图模型和 TinkerPop Gremlin 查询语言,能够帮助用户快速完成对图数据的建模、查询和可视化分析。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档