大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!
什么是 PlotteusPlotteus 是一个开源而且强大的 JavaScript 数据可视化库,旨在更好地讲述故事(storytelling)。Plotteus 通过完全控制故事的呈现方式、具有一流对象稳定性的无缝过渡以及内置响应能力,将数据驱动的故事提升到一个新的水平。
Plotteus 还允许开发者从头开始为故事创建交互式可视化,从定义图表类型、图表主题、图表可响应性等开始,通过状态之间的无缝转换,到让用户完全控制它们。
如何使用 PlotteusPlotteus 基础使用要在 Node.js 环境中安装 Plotteus,可以直接运行 npm installplotteus。 Plotteus 使用 ES 模块,因此也可以直接在浏览器中使用 type="module" 使用。
<script type="module"> import { makeStory } from "https://cdn.jsdelivr.net/npm/plotteus"; const story = makeStory(div, steps, options);</script>开始使用 Plotteus 创建图表非常简单,下面是一个 Plotteus 的最小示例。
import { makeStory } from "plotteus";const div = document.querySelector("#story");const steps = [ { key: "intro", chartType: "bar", title: "Hello, Plotteus! ", groups: [ { key: "Alice", data: [ {key: "A", value: 1}, {key: "B", value: 1.2}, {key: "C", value: 1.4}, ], }, { key: "Bob", data: [ {key: "A", value: 1.6}, {key: "B", value: 1.8}, {key: "C", value: 1.6}, ], }, { key: "Cecile", data: [ {key: "A", value: 1.4}, {key: "B", value: 1.2}, {key: "C", value: 1}, ], }, ], },];const story = makeStory(div, steps);story.render("intro", 1);渲染样式如下:
细粒度控制 PlotteusPlotteus 的优势之一是可以让开发者完全控制如何呈现数据故事。 讲述数据故事的流行方法侧重于使用一堆与文本混合的图表,或连接到一组触发器的粘性图表,这些触发器在激活时(通常通过滚动)启动动画。
Plotteus 为开发者提供了更多自由,它创建了一组插值器,可用于在任何进度下渲染故事的给定部分。 这意味着开发者可以在用户滚动页面时逐步渲染故事,使用滑块控制进度或复制触发方法以在给定持续时间内完全渲染步骤。
将数据放在上下文中另一个通常难以实现的行为是故事的流畅性。 由于某些图表类型可能比其他图表类型更适合特定的数据片段,因此如果能够在它们之间进行转换,同时保持数据在上下文中,那就太好了。
例如,开发者可能想要突出显示树形图的多个部分并使用条形图对它们进行比较。 通常,用户必须退出整个树形图并输入仅包含需要的数据的新条形图(这可能会导致难以跟踪正在比较的部分及其在前一个树形图中的位置)。 使用 Plotteus,可以将任何图表类型无缝地动画化为任何其他图表类型。
Plotteus 还可以轻松完成其他对于讲述数据故事也至关重要的基本操作,例如:突出显示、排序或添加新数据,所有这些都具有精美的动画效果。
本文总结本文主要和大家介绍 Plotteus ,即一个开源而且强大的 JavaScript 数据可视化库,旨在更好地讲述故事(storytelling)。因为篇幅问题,关于 Plotteus 只是做了一个简短的介绍,但是文末的参考资料提供了大量优秀文档以供学习,如果有兴趣可以自行阅读。如果大家有什么疑问欢迎在评论区留言。
参考资料https://github.com/bprusinowski/plotteus
https://dev.to/louislazaris/web-dev-tools-of-the-week-no-3-27o8
https://www.plotteus.dev/docs/quick-start