跳到主要内容
知识地图chart:图表的语义与绘图库如何分开?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

chart:图表的语义与绘图库如何分开?

chart 表达数据可视化;具体 Web 绘制有自己的实现。

参与者投票结果可以用条形图呈现。chart 描述数据与图表类型;注册表提到的 Chart.js 是具体 Web 实现线索,不是所有显示端都必须采用的协议要求。投票收集、权限与共享状态是另外需要实现和验证的部分。

先认识这些属性

variant 选择条形图、折线图等形式。data.labels 给出各个位置的标签,datasets 给出一组或多组数值及其名称。height 约束图表区域高度,不改变数据值。

读一个结构例子

以下摘自源码注册示例。它展示结构,未在本页运行;示例中的路径和动作需要应用提供。

json
{
  "id": "revenue-chart",
  "type": "chart",
  "props": {
    "variant": "bar",
    "data": {
      "labels": [
        "Jan",
        "Feb",
        "Mar",
        "Apr"
      ],
      "datasets": [
        {
          "label": "Revenue",
          "data": [
            120,
            190,
            150,
            210
          ],
          "backgroundColor": "#60a5fa"
        }
      ]
    }
  }
}

示例中 Jan 对应 120,Feb 对应 190,后面依次对应。label: "Revenue" 是这组数值的名称,backgroundColor 是绘制颜色。数字是源码中的示例数据;要显示实时投票,还需连接投票结果资源和更新机制。

查看 chart 的技术文档。

检查一下理解

把投票结果画成条形图,就实现了完整投票系统吗?

没有。chart 负责呈现,投票收集、共享数据和修改权限仍是独立职责。