数据可视化基础篇-图形语法

当我们在制作仪表盘或其他数据可视化时离不开对图表的选择,不同的数据信息该怎么选择图表可能是不少人会遇到的问题。

要解决这个问题我们首先需要理解数据可视化的生成规律或者说是"语法",目前主流的数据可视化理论认为,可视化是由基础标记(Mark)沿着某个或是某些视觉通道(Visual channel)进行映射的结果。

  • 标记我们也可以理解为图形元素,包括点、线、面等
  • 视觉通道通常包括位置、形状、面积、斜度、颜色等

以下面图为例,图1柱状图其表现数据的标记为"线",柱的纵向长度是视觉通道。图2散点图多了一个横向视觉通道且以"点"为标记。图3多了一个颜色视觉通道。图4多了一个尺寸的视觉通道。

标记与数据关系

  • 点:每个点表示一个数据,点可以是各种图形(圆、矩形或是其他自定义图形等)
  • 线:通常情况表示一组数据,比如折线图的曲线。也可以表示一个数据,比如柱状图的柱(interval)数据对应就是柱的长度
  • 面:2D场景通常是线的延伸跟颜色组合用来突出数据,比如折线图和面积图

视觉通道与数据映射

数据通常为有序和分类两种形式,视觉通道也可以分为两种性质。

  • 分类性质:颜色的不同色调通常用于表现分类数据,比如服务状态,绿色代表健康,红色代表异常
  • 定量或定序性质:同一个色调的颜色不同亮度或是饱和度时可以用于表现有序的数据,常见的就是热力图比如 Github 的 contributions 图,contributions 数量越大当天的色块颜色就越深

通常情况会把形状、颜色的色调、空间位置认定为分类性质的视觉通道,其他的比如直线长度、区域面积、角度、颜色饱和度亮度等大部分认定为定量性质的视觉通道

以下整理了一些常见视觉通道和数据类型之间的映射关系

视觉通道 数据类型
位置 分类、有序
颜色(饱和度) 分类
形状 分类
长度 有序
面积、大小 有序
颜色(亮度/饱和度) 有序

按用途归类

  • 比较类帮忙我们对比两个或两个以上类别的值,常见的图表有:柱状图、热力图、饼图等
  • 趋势类展示数据随着时间的变化情况。常见的图表有:折线图、时序轴的柱状图等
  • 占比类指的是某一项或某几项数据在总体中的比重。常见的图表有:饼图、环图、仪表盘图、水位图等
  • 分布类展示数据分布的图表。常见的图表有:直方图(直方图和柱状图不是一类图表)、密度图等
  • 还有一些其他的类型 层级类、关系类、地图类等
相关推荐
SelectDB9 小时前
宽表元数据膨胀怎么解?Doris Segment V3 对比 Parquet、Lance
大数据·数据库·数据分析
pycharm使用学习13 小时前
NCSS 2025安装教程(附安装包)NCSS 数据分析环境配置图文教程
数据库·mysql·其他·数据分析
紫昂张13 小时前
新版本发布灰度上线的因果效应评估(DID-Excel版)
数据分析
王小王-12316 小时前
基于B站的视频分析系统——面向美食视频内容生态的多源数据分析与可视化系统
数据分析·音视频·美食·视频分析·b站数据分析·b站弹幕分析
ATA888816 小时前
Chat2DB vs Navicat vs DBeaver:架构差异与技术选型深度对比
数据分析·数据库管理·智能问数
CAIE研习社17 小时前
大学生数据分析作品集,应该包含哪些内容?
人工智能·数据分析
m0_5474866618 小时前
《Python程序设计与数据分析》全套PPT课件
python·数据分析
卷无止境2 天前
Python数据进阶专题:用声明式验证让数据管道告别"惊喜"
后端·python·数据分析
Jay_Franklin2 天前
Python 数据处理工作流:marimo、PyCharm 与数据存储
开发语言·数据仓库·ide·python·pycharm·数据分析·开源
柳杉2 天前
没写一行代码!我用 ChatGPT 5.6 (Sol) 做了一个智慧充电站 3D 大屏
前端·chatgpt·数据可视化