【问题标题】:Highcharts generated from HTML table: Can't add second yAxis dynamically从 HTML 表生成的 Highcharts:无法动态添加第二个 yAxis
【发布时间】:2019-02-05 19:52:49
【问题描述】:

我有一个可变列 HTML 表(在此示例中,一个日期列和三个值列)。使用数据表作为图表的输入数据,由此生成 Highchart 很简单:

this.chart = Highcharts.chart(this.container.nativeElement, {
     data: {table: 'datatable'},
    ...
}

根据最后一个值列,我只得到一个 yAxis。这大概和预期的一样。

问题:我希望三个值列中的每一个都有一个单独的 yAxis,表列标题名称作为 yAxis 标签/名称。请看下面的截图。

在上面的截图中你可以看到三个系​​列有不同的范围,值最低的一个(“Value1”)基本上显示为平坦的。

使用Highcharts.Chart.addAxis() 函数有点效果 - 我得到了新的 yAxis 标签,但没有从相应的值列映射到网格线。 挑战在于一切都是动态加载的。事先我不知道我会得到多少列,相应地我也不知道我必须显示多少个 yAxis'。

我见过的所有示例都使用硬编码的 yAxis 信息并且没有任何帮助。我的 Stack Overflow 答案已经用完了,不幸的是,到目前为止,我还没有找到任何解决这个特定问题的方法。

【问题讨论】:

  • 您能否为您当前的解决方案分享minimal reproducible example,最好以 jsfiddle 或类似的形式?这样可以更轻松地为您提供帮助。

标签: highcharts datatables


【解决方案1】:

除了添加轴外,还必须将其连接到适当的系列:

chart.addAxis({
    opposite: true
});

chart.series[1].update({
    yAxis: 1
});

现场演示:https://jsfiddle.net/BlackLabel/1bkvcwmp/

API 参考:https://api.highcharts.com/class-reference/Highcharts.Series#update

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多