如何在React的Highcharts.js中为JSON数据源折线图添加回归线?
能否通过纯JSON配置为Highcharts折线图添加回归线?
不能直接通过原生Highcharts的JSON配置自动生成回归线——Highcharts没有内置的配置项可以让你仅通过JSON就自动计算并添加回归线。要在JSON配置里实现,你需要预先计算好回归线的数据集,然后把它作为一个额外的折线系列添加到series数组中。
具体操作步骤:
- 根据现有数据计算回归线的数学方程(斜率+截距),然后为每个x轴类别生成对应的回归线y值。
以你提供的数据为例,计算后得到的回归线数据大致为:[51.38, 48.07, 44.76, 41.45, 38.14, 34.83, 31.52, 28.21, 24.9, 21.59, 18.28, 14.97, 11.66, 8.35, 5.04, 1.73, -1.58, -4.89, -8.2, -11.51, -14.82](该数值通过线性回归公式计算得出)。 - 在你的JSON配置的
series数组中添加一个新的系列,用来渲染回归线,同时可以通过样式区分它和原始数据折线。
修改后的JSON配置示例:
[{ "key": "003", "title": "Detections", "type": "chart", "chartData": { "chart": { "type": "line", "renderTo": "container" }, "title": { "text": "" }, "subtitle": { "text": "" }, "xAxis": { "categories": ["Jan 7", "Jan 14", "Jan 21", "Jan 28", "Feb 4","Feb 11","Feb 18","Feb 25", "Mar 4","Mar 11","Mar 18","Mar 28", "Apr 1","Apr 8","Apr 15","Apr 22","Apr 29", "May 6","May 13","May 20","May 27" ] }, "colors": ["#f89c1b", "#2f7ed8"], "yAxis": { "title": { "text": "Number of Exits" } }, "plotOptions": { "line": { "dataLabels": { "enabled": true }, "enableMouseTracking": false } }, "series": [{ "name": "Week", "data": [60,12,29,48, 24,31,15,37, 32,16,22,29, 21,13,9,14,15, 10,12,13,7] }, { "name": "Regression Line", "data": [51.38, 48.07, 44.76, 41.45, 38.14, 34.83, 31.52, 28.21, 24.9, 21.59, 18.28, 14.97, 11.66, 8.35, 5.04, 1.73, -1.58, -4.89, -8.2, -11.51, -14.82], "dashStyle": "shortdash", "marker": { "enabled": false } }] }, "index": 2, "defaultWidth": "100%" }]
说明:
- 新增的回归线系列使用了虚线样式(
dashStyle: "shortdash")并隐藏了标记点,和原始数据折线做区分。 - 如果你需要更精确的回归线数据,可以用线性回归公式手动计算,或者用工具/代码先算出数据集再填入JSON。
内容的提问来源于stack exchange,提问作者Deric
相关产品推荐
相关产品推荐

