我可以在 amchart 图表中保存状态吗?

Can I save a state in amchart graph?

我的任务是添加额外的功能,可以在用户注销时切换图例项目后保存其状态,并且状态应该与他登录时相同。是否可以在 amchart 中执行此操作?

AmCharts 不提供任何内置的 save/load 图表状态解决方案,因此您需要编写自己的自定义代码。正如@Abhijit 提到的,您可以使用 localStorage 来完成此操作。我已经在我们的支持论坛中使用图例事件提供了一个示例解决方案,但这里再次为您和正在寻找的任何其他人提供:

AmCharts.makeChart("...", {
  // ...
  graphs: [{
      // ...
      //get hidden value from localStorage. needs to cast stored string "1" or "0" to a number, then casted to a boolean if a value exists
      hidden:
        localStorage.carsHidden !== undefined
          ? !!+localStorage.carsHidden
          : false,
   },
  // repeat
  ],
  legend: {
    // ...
    listeners: [
      {
        event: "showItem",
        method: saveState
      },
      {
        event: "hideItem",
        method: saveState
      }
    ]
  }
});

function saveState(e) {
  localStorage[e.dataItem.valueField + "Hidden"] =
    e.type === "hideItem" ? 1 : 0;
}

Demo