使用Bokeh进行数据可视化的8个建议(下)

使用 Bokeh 库创建数据可视化的快速提示和示例。

长按关注《Python学研大本营》,加入读者群,分享更多精彩 扫码关注《Python学研大本营》,加入读者群,分享更多精彩

5 — 使用选项卡组织数据可视化

使用 Bokeh,可以使用选项卡显示数据可视化。与仪表板类似,每个选项卡都包含自己的内容。选项卡显示多个相互关联的可视化效果,而无需生成仪表板或在 Jupyter Notebook 中滚动浏览多个图像。它们对于显示同一图形的不同视图也很有用。

下图显示了如何使用选项卡显示散点图的变体。第一个散点图按性别显示学生的数学和阅读分数,而第二个散点图按种族显示学生的数学和阅读分数。

图片:散景示例中的 Tabs 对象

要创建带有选项卡的对象,请使用以下命令导入选项卡和面板小部件。

 from bokeh.models.widgets import Tabs, Panel

创建图形后,可以将它们添加到选项卡式对象中。以下代码片段显示了学生成绩散点图的选项卡式对象是如何创建的。在此处查看此可视化的完整代码。

https://payalnpatel.github.io/Bokeh/

# Create tab panel for scatterplot visualizations

# Create the two panels 
tab1 = Panel(child = p, title = 'Student Math and Reading Scores by Gender')
tab2 = Panel(child = r, title = 'Student Math and Reading Scores by Race')

# Add the tabs into a Tabs object
tabs_object = Tabs(tabs = [tab1, tab2])

# Output the plot
show(tabs_object)

虽然上面的示例显示每个选项卡一个可视化效果,但可以向每个选项卡添加多个可视化效果 - 请记住布局和整体流程!

6 — 删除网格线

默认情况下,网格线出现在使用 Bokeh 创建的数据可视化上。通过从可视化中删除网格线来减少视觉混乱。这使用户更容易查看和解释手头的数据。

查看下面按经验水平划分的平均工资条形图,我们看到了自动添加的网格线。

图片:带默认网格线的条形图 通过移除网格线,可视化变得不那么混乱,如下图所示。

图片:删除了网格线的条形图

在 Bokeh 中,移除网格线是一个快速的过程,可以通过将grid_line_color设置为“None”来完成。在此处查看此可视化的完整代码。

https://payalnpatel.github.io/Bokeh/

p.xgrid.grid_line_color = None
p.ygrid.grid_line_color = None

7 — 使用预定义的颜色和调色板

颜色是任何数据可视化的关键部分,决定使用正确的颜色可能需要时间。Bokeh 库带有几种预定义的颜色和调色板。

可用的调色板可能因您使用的 Bokeh 版本而异。要查看单个颜色名称的列表,请在此处查看 Bokeh 文档。

https://docs.bokeh.org/en/2.4.2/docs/reference/colors.html

要查看特定版本的可用调色板,请查看Bokeh 官方文档,或运行以下命令。此命令根据运行的 Bokeh 版本列出可用的调色板。

https://docs.bokeh.org/en/2.4.3/docs/reference/palettes.html

bokeh.palettes.all_palettes.keys()

散景调色板由不同的尺寸组成。要查看调色板中可用的特定 HEX 颜色以及可用的不同尺寸,请使用以下命令。此命令列出了“ Set3 ”调色板的可用尺寸,包括 HEX 颜色。

bokeh.palettes.all_palettes[‘Set3’]

要导入特定大小的调色板,请运行以下命令。此命令正在导入 3 号Set3调色板。

from bokeh.palettes import Set3_3

或者,通过指定调色板名称导入调色板中的所有尺寸。以下示例显示如何为Cividis调色板导入所有尺寸。

from bokeh.palettes import cividis

可能很难解释 HEX 颜色。要快速查看这些十六进制颜色,您可以使用如下函数。

from IPython.display import Markdown, display

def printColorPalette(color_palette):
 display(Markdown(‘<br>’.join(
 f’<span style=”color: {color}; font-family: courier;”><span>{color}: </span>&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;&#9608;</span>’
 for color in color_palette
 )))

此函数获取十六进制数字列表,并打印出十六进制数字和相应的色块。下图显示了各种大小的Cividis、Set3和Spectral调色板的输出。

图片:使用函数打印各种调色板

有关更多示例,请在此处查看完整代码。

https://payalnpatel.github.io/Bokeh/

8 — 直接在 Jupyter Notebook 中显示可视化

在 Jupyter Notebook 中创建 Bokeh 可视化时,默认设置会在新网页中显示输出。直接在笔记本中显示可视化,以快速排除故障并开发可视化。

要在 Jupyter Notebook 中显示 Bokeh 数据可视化,请导入以下函数。

from bokeh.io import output_notebook, show
from bokeh.resources import INLINE

在开发任何可视化之前,调用 Bokeh 的output_notebook()函数,如下所示。

output_notebook(resources=INLINE)

设置可视化的输出后,对每个数据可视化使用show()函数以在笔记本中显示输出。

例如,下图显示了如何调用show()函数以在 Jupyter Notebook中显示图形p (散点图)。

图片:Jupyter Notebook 中显示的数据可视化

直接在笔记本中显示可视化有助于将可视化保存在一个文档中。这使得以后可以轻松引用可视化效果,而无需重新运行整个笔记本。

这些是使用 Bokeh 增强数据可视化效果的几种方法!此处提供所有示例,包括代码和数据集。

https://payalnpatel.github.io/Bokeh/

参考:

[1]:拉塞尔.“巧克力评级。” Kaggle,https ://www.kaggle.com/datasets/andrewmvd/chocolate-ratings 于 2022 年 12 月 8 日访问。(CC0:公共领域许可)

[2]:沙哈恩,索拉布。“数据科学工作薪资数据集。” Kaggle,www.kaggle.com/datasets/saurabhshahane/data-science-jobs-salaries 于2022 年 12 月 8 日访问。(CC0:公共领域许可)

[3]:战神。“加州野火 (2013–2020)。” Kaggle,https ://www.kaggle.com/datasets/ananthu017/california-wildfire-incidents-20132020 于 2022 年 12 月 8 日访问。(CC0:公共领域许可)

[4]: Chauhan, 阿曼.“学生在考试中的表现。” Kaggle,https ://www.kaggle.com/datasets/whenamancodes/students-performance-in-exams 于 2022 年 12 月 8 日访问。(CC0:公共领域许可)

推荐书单

《PyTorch深度学习简明实战 》

本书针对深度学习及开源框架——PyTorch,采用简明的语言进行知识的讲解,注重实战。全书分为4篇,共19章。深度学习基础篇(第1章~第6章)包括PyTorch简介与安装、机器学习基础与线性回归、张量与数据类型、分类问题与多层感知器、多层感知器模型与模型训练、梯度下降法、反向传播算法与内置优化器。计算机视觉篇(第7章~第14章)包括计算机视觉与卷积神经网络、卷积入门实例、图像读取与模型保存、多分类问题与卷积模型的优化、迁移学习与数据增强、经典网络模型与特征提取、图像定位基础、图像语义分割。自然语言处理和序列篇(第15章~第17章)包括文本分类与词嵌入、循环神经网络与一维卷积神经网络、序列预测实例。生成对抗网络和目标检测篇(第18章~第19章)包括生成对抗网络、目标检测。

本书适合人工智能行业的软件工程师、对人工智能感兴趣的学生学习,同时也可作为深度学习的培训教程。

作者简介:

日月光华:网易云课堂资深讲师,经验丰富的数据科学家和深度学习算法工程师。擅长使用Python编程,编写爬虫并利用Python进行数据分析和可视化。对机器学习和深度学习有深入理解,熟悉常见的深度学习框架( PyTorch、TensorFlow)和模型,有丰富的深度学习、数据分析和爬虫等开发经验,著有畅销书《Python网络爬虫实例教程(视频讲解版)》。

链接:https://item.jd.com/13528847.html

精彩回顾

《Pandas1.x实例精解》新书抢先看!

【第1篇】利用Pandas操作DataFrame的列与行

【第2篇】Pandas如何对DataFrame排序和统计

【第3篇】Pandas如何使用DataFrame方法链

【第4篇】Pandas如何比较缺失值以及转置方向?

【第5篇】DataFrame如何玩转多样性数据

【第6篇】如何进行探索性数据分析?

【第7篇】使用Pandas处理分类数据

【第8篇】使用Pandas处理连续数据

【第9篇】使用Pandas比较连续值和连续列

【第10篇】如何比较分类值以及使用Pandas分析库

长按关注《Python学研大本营》

长按二维码,加入Python读者群

扫码关注《Python学研大本营》,加入读者群,分享更多精彩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值