了解如何使用 chart3d 将你的 2d swift charts 转换为三维图表,从全新角度直观呈现你的数据集。绘制 3d 数据图表,以可视化方式显示数学表面,并对摄像头、材质等各种因素进行自定,让你的 3d 图表更加清晰直观、赏心悦目。
为了充分从这个讲座中获益,我们建议你先熟悉一下如何创建 2d swift charts。
此文章由AI生成,可能存在错误,如有问题,请联系djs66256@163.com
将 Swift Charts 扩展为三维图表:数据可视化新维度
引言
Apple 在 iOS、macOS 和 visionOS 26 中为 Swift Charts 框架引入了令人振奋的三维图表功能。这项突破性扩展让开发者能够通过 Chart3D 将二维图表转换为三维可视化,为用户提供探索和理解数据集的全新视角。本文将详细介绍如何利用三维图表呈现数据、绘制数学曲面以及自定义图表样式,助您掌握这项强大的可视化工具。
三维图表基础与应用场景
Swift Charts 三维图表特别适合呈现数据形态比精确值更重要的情况,尤其是本身具有三维空间属性的数据。以企鹅数据集为例,通过三维散点图可以同时展示鳍肢长度、体重和喙长三个维度的数据,比传统的二维图表更能直观呈现不同企鹅物种间的整体差异。
创建三维图表非常简单,开发者只需将原来的 Chart
替换为 Chart3D
,并为现有的标记(如 PointMark
)提供 Z 轴值即可。Chart3D 支持 PointMark
、RuleMark
和 RectangleMark
等常用标记类型,用户可以通过手势旋转图表从多个角度观察数据。
值得注意的是,三维图表依赖交互操作来理解数据,因此在选择使用三维图表时,应考虑交互是否能真正提升应用体验。当需要同时展示多个变量关系或数据本身具有三维属性时,三维图表会是理想选择。
SurfacePlot:三维曲面绘制功能
SurfacePlot
是 Chart3D 独有的强大功能,作为 LinePlot
的三维扩展,它能够绘制包含最多两个变量的数学曲面。其 API 设计与 LinePlot
类似,接收一个将两个 Double 参数转换为 Double 输出的闭包:
1 | SurfacePlot { x, z in |
开发者可以轻松绘制从简单乘法曲面到复杂三角函数曲面等各种数学图形。此外,SurfacePlot
还支持将机器学习模型预测结果可视化。例如,使用 CreateML 框架训练企鹅数据的回归模型后,可以将预测结果作为灰色曲面绘制在图表中,清晰展示变量间的关联程度。
丰富的自定义选项
Chart3D 提供了多种自定义功能,让图表更具表现力:
视角设置:通过
Chart3DPose
修饰符可以预设初始视角,包括内置的.front
视角或自定义方位角(azimuth)和倾角(inclination)。投影模式:
- 正交投影(orthographic):保持远近物体大小一致,适合侧面观察
- 透视投影(perspective):增强深度感知,营造沉浸体验
曲面样式:
- 应用
LinearGradient
或EllipticalGradient
等渐变 heightBased
模式根据曲面高度着色normalBased
模式根据曲面法线角度着色
- 应用
1 | SurfacePlot { x, z in |
这些自定义选项在 Vision Pro 上尤其出色,为三维数据提供了自然的展示平台。
结论
Swift Charts 的三维功能为数据可视化开启了全新维度。当数据集适合三维呈现时,Chart3D 能够通过其直观的 API 和丰富的定制选项,帮助开发者创建具有深度和表现力的可视化效果。无论是展示生物统计数据、数学曲面,还是机器学习模型预测,三维图表都能提供传统二维图表无法比拟的数据洞察能力。
相关资源
相关视频
Swift Charts:矢量图与函数图
利用图表设计 App 体验
设计实用高效的图表