javascript - Highcharts - 更新系列点 [x,y] 值?

标签 javascript charts highcharts

我正在尝试更新图表中的点[x,y]。 有什么问题? 好吧,我的图表及其图表系列是这样的:

     series: [
            {
                enableMouseTracking: false,
                name: 'Line1',
                type: 'line',
                color: '#5d5d5d',
                yAxis: 1,
                data: [[12000, 55.068493], [15064, 42.842]],
                marker: {
                    symbol: 'circle'
                }
            },
            {
                enableMouseTracking: false,
                name: 'Line2',
                type: 'line',
                color: '#5d5d5d',
                yAxis: 1,
                marker: {
                    symbol: 'circle'
                },
                data: [[12000, 57.671527], [16000, 42.620069]]

            },{
                name: 'TOM',
                //type: 'line',
                color: '#ff4100',
                yAxis: 1,
                marker: {
                    symbol: 'url(icons/tom.png)'
                },
                data: [
                    {
                        id:'tom_point',
                        color: '#00FF00',
                        y: fi_variable,
                        x: tom_variable
                    }
                ]
             }

现在的问题是,我正在检查是否 fi_variabletom_variable已更改,如果为真,则更新这两个变量,最后更新图表。

我已经尝试过一些方法,例如 chart.series[0].data[0].update(y = 10);它适用于某些具有固定 x,y 值的点,但对其余点则没有运气。 例如我使用 chart.series[0].data[1].update(y = 10);会正常工作, 但这chart.series[0].data[3].update(y = 10);不会工作。

1- 有什么办法可以替代 data[0]从上面的代码行 id我们案例中的一个点tom_point

我也尝试过这个chart.series[0].setData([[tom_variable,fi_variable, 'tom_point']]); 当点带有 id 或没有固定值时,它再次不起作用。

但是如果我尝试 chart.series[0]data[0].setData([[tom_variable,fi_variable]]);它可以工作,但同样不能在该系列的第三个元素上(在我们的例子中 - 如上所示)。

我可以通过以下方式获取这一点的值, var tomPoint = chart.get('tom_point').y; 但我无法将任何 x,y 值设置回图表并更新它(图表)。

我还尝试检查变量是否已更改并使用 Chart.redraw 重新绘制图表,但什么也没有。

有什么想法可以让它发挥作用吗? 我失去了什么吗?

提前感谢您抽出时间。

最佳答案

首先,您尝试更新系列中不存在的点(数据[3])。其次,如果您更新时需要使用

chart.series[0].data[1].update(10);chart.series[0].data[1].update({y:10} ); 但不是你的人物

关于javascript - Highcharts - 更新系列点 [x,y] 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19656569/

相关文章:

asp.net - 使用 .Net 验证器在无效时将类添加到文本框

html - 选项卡式 View /多个谷歌图表返回错误 "e null"

javascript - MySql 时间戳和 JavaScript 时间

javascript - highchart xrange 中的重叠数据点不显示工具提示

javascript - 从二分查找函数返回值

javascript - 如何在日期选择器中添加预先选择的日期

javascript - (amCharts) 图表从 HTML 表获取数据。如果动态添加新的表格行,如何更新图例?

javascript - PubNub EON 图表未呈现数据

javascript - 如何在 Chart.js 中放置静态点并制作垂直线

javascript - 使用 AJAX 附加到 DOM,数据显示为字符串而不是 HTML