首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高级图表:如何使用setData添加系列

高级图表:如何使用setData添加系列
EN

Stack Overflow用户
提问于 2015-01-08 17:21:50
回答 1查看 11.7K关注 0票数 3

我有一个用jQuery UI滑块来改变图形内容的气泡图。(“通过时间”)然而,图表上的气泡每周都会从图表中消失,当使用setData更新时,会忽略任何最初不存在的新系列。我的代码:

代码语言:javascript
复制
series: [{ name: 'hidden',showInLegend: false, enableMouseTracking: false, marker: { lineColor:'rgba(255,255,255,0)', fillColor: 'rgba(255,255,255,0)', fillOpacity: 0 },
                   data: [{x:0,y:0,z:0, zz:0}]

        },{ name: 'bubble 2',showInLegend: false,
                   marker: { lineColor:'black', fillColor: { radialGradient: {cx: 0.4,cy: 0.3,r: 0.7}, stops: [ [0, 'green'], [1, 'white'] ] } },
                   data: [{x:11,y:10,z:5, zz:0}]

        },{ name: 'bubble 3',showInLegend: false,
                   marker: { lineColor:'black', fillColor: { radialGradient: {cx: 0.4,cy: 0.3,r: 0.7}, stops: [ [0, 'red'], [1, 'white'] ] } },
                   data: [{x:100,y:100,z:77, zz:0}]
        }]

如果我输入setData,比如:

代码语言:javascript
复制
newSeries[0] = [{x:0,y:0,z:0.0000000000},
{x:9,y:13,z:1,name: 'hello', marker: { fillColor: { radialGradient: {cx: 0.4,cy: 0.3,r: 0.7}, stops: [ [0, 'green'], [1, 'white'] ] } }},
{x:23,y:23,z:6,name: 'hello2', marker: { fillColor: { radialGradient: {cx: 0.4,cy: 0.3,r: 0.7}, stops: [ [0, 'green'], [1, 'white'] ] } }},
{x:23,y:49,z:6,name: 'hello3', marker: { fillColor: { radialGradient: {cx: 0.4,cy: 0.3,r: 0.7}, stops: [ [0, 'green'], [1, 'white'] ] } }},
{x:24,y:24,z:2,name: 'hello4', marker: { fillColor: { radialGradient: {cx: 0.4,cy: 0.3,r: 0.7}, stops: [ [0, 'green'], [1, 'white'] ] } }}];

hello3和hello4被完全忽略了。您可以在这里看到一个小提琴,不是我的图表,而是将演示问题的一个:http://jsfiddle.net/ruchitrami/YUa3R/1/

如果将chart.series[3].setData([4, 4, 4, 3, 3]);添加到图表的按钮中,则会忽略它。

我们需要使用单独的系列,因为使用一个系列和更新数据不够灵活,无法通过setData进行更改。例如,,我们需要按周更改图表中气泡的颜色。每个系列只有一个数据点。

如果我手动添加一些“虚拟”系列到初始调用,它的工作完美。我只需要高级图表来接受这些系列,而不需要我声明它们。(随着泡沫在一周内下降),我不知道为什么setData不接受我的"hello1,hello2“的名字在新的系列.如果有人知道的话。

EN

Stack Overflow用户

回答已采纳

发布于 2015-01-08 17:49:51

这是因为它试图设置一个不存在的系列的数据。如果添加该setData行,则会得到此错误:

未定义的TypeError:无法读取未定义的属性“setData”

相反,您希望通过chart.addSeries()添加新系列

代码语言:javascript
复制
$('#button').click(function () {
        chart.series[0].setData([10, 10, 10, 10, 10],false);
        chart.series[1].setData([5, 5, 5, 5, 5],false);
        chart.series[2].setData([4, 4, 4, 4, 4],false);
        chart.addSeries({
            data: [4, 4, 4, 3, 3]
        });
    });
});
票数 9
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27845961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档