Bokeh数据可视化:使用标记变换绘制企鹅数据集散点图

Bokeh数据可视化:使用标记变换绘制企鹅数据集散点图

bokeh bokeh/bokeh: 是一个用于创建交互式图形和数据的 Python 库。适合用于数据可视化、数据分析和呈现,以及创建动态的 Web 应用。特点是提供了一种简洁、直观的 API 来描述和处理数据,并生成交互式的可视化效果。 bokeh 项目地址: https://gitcode.com/gh_mirrors/bo/bokeh

概述

本文将介绍如何使用Bokeh库中的标记变换功能(factor_mark)来创建具有区分度的散点图。我们将以著名的Palmer企鹅数据集为例,展示如何通过不同标记样式来区分不同企鹅物种的数据点。

准备工作

首先确保已安装Bokeh库。我们将使用Bokeh自带的企鹅数据集,该数据集包含了三种企鹅物种的身体测量数据。

核心代码解析

from bokeh.plotting import figure, show
from bokeh.sampledata.penguins import data
from bokeh.transform import factor_cmap, factor_mark

# 获取数据集中所有独特的企鹅物种并排序
SPECIES = sorted(data.species.unique())

# 定义三种不同的标记样式
MARKERS = ['hex', 'circle_x', 'triangle']

# 创建基础图形
p = figure(title="Penguin size", background_fill_color="#fafafa")
p.xaxis.axis_label = 'Flipper Length (mm)'
p.yaxis.axis_label = 'Body Mass (g)'

# 绘制散点图
p.scatter("flipper_length_mm", "body_mass_g", source=data,
          legend_group="species", fill_alpha=0.4, size=12,
          marker=factor_mark('species', MARKERS, SPECIES),
          color=factor_cmap('species', 'Category10_3', SPECIES))

# 设置图例位置和标题
p.legend.location = "top_left"
p.legend.title = "Species"

# 显示图形
show(p)

关键技术点详解

1. 标记变换(factor_mark)

factor_mark是Bokeh提供的一个强大功能,它允许我们根据分类变量的不同值自动分配不同的标记样式。在本例中:

  • 第一个参数'species'指定了数据源中用于分组的列名
  • 第二个参数MARKERS定义了要使用的标记样式列表
  • 第三个参数SPECIES定义了分组变量的唯一值列表

2. 颜色映射(factor_cmap)

除了标记样式,我们还使用了factor_cmap为不同物种分配不同颜色:

  • 使用'Category10_3'调色板(包含3种颜色的预定义调色板)
  • 确保颜色与标记样式同步变化,增强可视化效果

3. 其他重要参数

  • fill_alpha=0.4:设置标记填充透明度,有助于在数据点重叠时提高可读性
  • size=12:控制标记大小
  • legend_group="species":自动根据物种分组创建图例

可视化效果分析

生成的散点图展示了企鹅鳍肢长度与体重之间的关系:

  1. x轴:鳍肢长度(毫米)
  2. y轴:体重(克)
  3. 不同标记:代表不同企鹅物种
  4. 不同颜色:增强物种区分度

这种可视化方式特别适合展示多类别数据的分布和关系,能够直观地比较不同类别间的差异。

实际应用建议

  1. 标记选择:选择在视觉上容易区分的标记样式,避免使用过于相似的形状
  2. 颜色搭配:确保颜色对比度足够,同时考虑色盲用户的观看体验
  3. 透明度设置:在数据点密集区域,适当调整透明度可以提高可视化效果
  4. 图例设计:确保图例清晰明了,准确反映各类别的标记和颜色

扩展思考

这种标记变换技术不仅适用于生物学数据,也可以应用于:

  • 金融领域不同行业公司的数据比较
  • 市场营销中不同客户群体的行为分析
  • 教育领域中不同学校或班级的成绩分布

通过灵活运用Bokeh的标记变换功能,我们可以创建出信息丰富且美观的数据可视化图表,有效传达数据背后的故事。

总结

本文详细介绍了如何使用Bokeh的标记变换功能创建分类散点图。通过结合不同的标记样式和颜色映射,我们能够清晰地展示企鹅数据集中不同物种的体型特征差异。这种技术是数据可视化中区分分类数据的有效方法,值得在实际分析工作中广泛应用。

bokeh bokeh/bokeh: 是一个用于创建交互式图形和数据的 Python 库。适合用于数据可视化、数据分析和呈现,以及创建动态的 Web 应用。特点是提供了一种简洁、直观的 API 来描述和处理数据,并生成交互式的可视化效果。 bokeh 项目地址: https://gitcode.com/gh_mirrors/bo/bokeh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江奎钰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值