如何将系列添加到NVD3 d3线图中?

时间:2020-03-27 08:48:29

标签: javascript d3.js nvd3.js

我正在使用NVD3构建带有外部HTML控件的lineChart,允许用户向图表添加其他系列。 (理想情况下,整个图表将按照新系列可能需要的新比例进行动画处理,但这不是绝对必要的。)

我正在使用如下代码创建图表:

var gChart;

function createChart()
{
    nv.addGraph(
        function()
        {
            gChart = nv.models.lineChart()
                        .options({
                            duration: 15,
                            useInteractiveGuideline: true
                        });

            gChart.showLegend(true)
                    .focusEnable(false)
                    .margin({left: 80, right: 50})

            gChart.xAxis
                .axisLabel("Date")
                .tickFormat(function(d) { return d3.time.format("%d-%b-%y")(new Date(d)); });
            gChart.xScale(d3.time.scale());

            gChart.yAxis
                .axisLabel("Count");

            let xyPars = ...;       //  Data from elsewhere

            let data = [
                            {
                                key: "Default Series", values: xyPairs), color: "#00ff00"
                            },
                        ];

            d3.select("#chart1").append("svg")
                .datum(data)
                .transition()
                .duration(0)
                .call(gChart);

            nv.utils.windowResize(function() { gChart.update() });
            return gChart;
        });
}

这很好用,我得到一个漂亮的小图表。但是现在我想让用户添加另一个系列。我不知道该怎么做。数据是否应该是我修改的全局数据,并且图表会自动更新(UPDATE:似乎不起作用)?

0 个答案:

没有答案
相关问题