Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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_D3.js_Nvd3.js - Fatal编程技术网

Javascript nvd3图表上的排序栏

Javascript nvd3图表上的排序栏,javascript,d3.js,nvd3.js,Javascript,D3.js,Nvd3.js,在Nvd3discreteBarChart或水平条形图上,是否有简单的方法对条形图进行排序(升序或降序)。 我认为应该在主库(Nvd3)中添加一个函数,以便按如下方式使用该选项: .sortAscending(true)//用于根据条形图的值进行升序 或 .sortDescending(true)//用于根据其值降序条尝试此操作,我在应用程序中实现了此操作,在返回图表对象之前将其包含在addGraph方法中 var parent = $('svg').parent().attr("id");

Nvd3discreteBarChart或水平条形图上,是否有简单的方法对条形图进行排序(升序或降序)。 我认为应该在主库(Nvd3)中添加一个函数,以便按如下方式使用该选项:

.sortAscending(true)//用于根据条形图的值进行升序
或

.sortDescending(true)//用于根据其值降序条
尝试此操作,我在应用程序中实现了此操作,在返回图表对象之前将其包含在addGraph方法中

var parent = $('svg').parent().attr("id");
//在DIV中添加一个按钮,并提供onclick-evet函数

d3.select("#"+parent).append('a').attr('href',"javascript:void(0)")
 .text('Sort').on("click", sortBars).html('Sort');
var sortOrder;
var sortBars = function(){

    if( !sortOrder || sortOrder == null)
        sortOrder = true;
    else sortOrder = false;
        var historicalBarChart11 ;
    var data1 = JSON.parse(JSON.stringify(data));//cloning object
    sortdata = data1[0].values;
        sortdata.sort(function(a,b){
        if(sortOrder)
            return a["value"]-b["value"];//[1];
        else
            return b.value-a.value;//[1];
        });
        for(var i=0;i<sortdata.length;i++){
            data1[0]["values"][i] = sortdata[i];
        }
        d3.select('svg').datum(data1).transition().duration(500).call(chart);
    }
//排序功能

d3.select("#"+parent).append('a').attr('href',"javascript:void(0)")
 .text('Sort').on("click", sortBars).html('Sort');
var sortOrder;
var sortBars = function(){

    if( !sortOrder || sortOrder == null)
        sortOrder = true;
    else sortOrder = false;
        var historicalBarChart11 ;
    var data1 = JSON.parse(JSON.stringify(data));//cloning object
    sortdata = data1[0].values;
        sortdata.sort(function(a,b){
        if(sortOrder)
            return a["value"]-b["value"];//[1];
        else
            return b.value-a.value;//[1];
        });
        for(var i=0;i<sortdata.length;i++){
            data1[0]["values"][i] = sortdata[i];
        }
        d3.select('svg').datum(data1).transition().duration(500).call(chart);
    }
var排序器;
var sortBars=函数(){
如果(!sortOrder | | sortOrder==null)
sortOrder=true;
else-sortOrder=false;
var historicalBarChart11;
var data1=JSON.parse(JSON.stringify(data));//克隆对象
sortdata=data1[0]。值;
sortdata.sort(函数(a,b){
如果(排序器)
返回a[“value”]-b[“value”];/[1];
其他的
返回b.value-a.value;//[1];
});

对于(var i=0;iNOTE)有一个小错误:在排序中:if(sortOrder)返回a[“value”]-b[“value”];//[1];否则返回b[“value”]-a[“value”];//[1];我刚才回答了这个问题: