Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当序列计数浮动时,使用NVD3维护堆叠/分组多条形图的颜色映射_Javascript_Svg_D3.js_Nvd3.js - Fatal编程技术网

Javascript 当序列计数浮动时,使用NVD3维护堆叠/分组多条形图的颜色映射

Javascript 当序列计数浮动时,使用NVD3维护堆叠/分组多条形图的颜色映射,javascript,svg,d3.js,nvd3.js,Javascript,Svg,D3.js,Nvd3.js,当只有一个系列时,是否有一种方法使用NVD3设置系列的颜色,而在添加第二个系列时保持颜色映射 我知道如何使用.color()设置2个系列的颜色,如下所示: 当有2个系列时,映射是正确的,但是如果只有一个系列,映射是错误的 我有一系列的条([yearOne,yearTwo])映射到颜色([red,blue]),它可以工作: 第一年:红色 第二年:蓝色 但是,当我将1个系列映射到2种颜色时,直到出现第二个系列,颜色才会正确映射 第二年:红色 空:蓝色 我希望yearOne始终映射为红色,即使year

当只有一个系列时,是否有一种方法使用NVD3设置系列的颜色,而在添加第二个系列时保持颜色映射

我知道如何使用.color()设置2个系列的颜色,如下所示:

当有2个系列时,映射是正确的,但是如果只有一个系列,映射是错误的

我有一系列的条([yearOne,yearTwo])映射到颜色([red,blue]),它可以工作:

第一年:红色

第二年:蓝色

但是,当我将1个系列映射到2种颜色时,直到出现第二个系列,颜色才会正确映射

第二年:红色

空:蓝色

我希望yearOne始终映射为红色,即使yearTwo数据没有出现

我已经为各个条添加了颜色属性,但这并不干净,也不会自动映射图例颜色

nv.addGraph(function() {
    var chart = nv.models.multiBarChart();

    chart.xAxis
        .tickFormat(d3.format(',f'));

    chart.yAxis
        .tickFormat(d3.format(',.1f'));
    chart.color(['#FF0000', '#0026FF'])

    d3.select('#chart svg')
        .datum(data())
        .transition().duration(500)
        .call(chart)
        ;

    nv.utils.windowResize(chart.update);

    return chart;
});
你需要的是。这个链接中的解释应该能让你达到目的

nv.addGraph(function() {
    var chart = nv.models.multiBarChart();

    chart.xAxis
        .tickFormat(d3.format(',f'));

    chart.yAxis
        .tickFormat(d3.format(',.1f'));
    chart.color(['#FF0000', '#0026FF'])

    d3.select('#chart svg')
        .datum(data())
        .transition().duration(500)
        .call(chart)
        ;

    nv.utils.windowResize(chart.update);

    return chart;
});