5

是否可以更新图表的选项(例如marginRight)并调用redraw()以使该新值反映在图表中?或者是否需要为这些类型的更改创建图表的新实例?

我认为可能是后者,因为听起来在创建图表后只能更改数据或轴值。我看到了重绘状态的文档:

在对数据或轴极值进行更改后重新绘制图表

3.0 中的新动态特性指出:

通过完整的 API,您可以在图表创建后随时添加、删除和修改系列和点或修改轴。

先感谢您。

更新

我想要这样做的原因是我有一个垂直布局和右对齐的图例与我的图表重叠。我刚刚意识到,如果没有明确指定,Highcharts 会自动设置正确的 marginRight 以适应这一点。

4

2 回答 2

4

不幸的是,您无法动态修改保证金参数,因此您需要销毁旧图表并创建新实例。

此功能是我们近期的目标之一。

于 2013-05-22T11:08:34.850 回答
2

假设你有一个这样初始化的图表:

chart = new Highcharts.Chart({
    ...

您可以更改琐碎的属性,例如其标题,如下所示:

chart.setTitle({text: "New title"});

您可以使用新的数据集刷新它正在使用的数据集,如下所示:

chart.series[0].setData(newChartData, true);

其中 newChartData 将包含您希望显示的新数据的数组

于 2013-05-21T22:16:29.657 回答