Диаграмма областей с накоплением (nvd3) не показывает область, даже если поступают данные, также показывает NaN для некоторых значений

#javascript #d3.js #nvd3.js

#javascript #d3.js #nvd3.js

Вопрос:

код

случай «ViewComponent.Web.Chart.stackedAreaChart»:

// Этот фрагмент кода используется для получения данных

                 var chartData1XYSize = function() {
    return nodeData
    .map(function(node) {
        return {
            key : node.fields.name,
            values : [ {
                x : convertNodeFieldValue(node, 0),
                y : convertNodeFieldValue(node, 1),
                size : convertNodeFieldValue(node, 2, 1)
            } ]
        };
    });
};
  

// Этот фрагмент кода используется для получения данных

                 data = chartData1XYSize();
                console.log("<<<<<<<<<<<<<<<<<<<<<<this is the data of stackedAreachart >>>>>>>>>>>>>>")
               console.log(data);
                chart = nv.models.stackedAreaChart()
                    .useInteractiveGuideline(true)
                    .x(function(d) { return d[0] })
                    .y(function(d) { return d[1] })
                    .controlLabels({stacked: "Stacked"})
                     //.interpolate("step")
                    .showControls(true)
                    .duration(300)
                    .clipEdge(true);
                chart.xAxis.tickFormat(function(d) { return d3.time.format('%X')(new Date(d)) });
                chart.yAxis.tickFormat(d3.format(',.4f'));
                chart.legend.vers('furious');

                data.forEach(function(d,i){ 

                    d.values = d.values.sort(
                        function(a,b){
                           return  a.t -b.t;
                        }
                    );
                 });
                if (preferences.fieldList.length > 0) {
                    chart.yAxis
                    .axisLabel(
                            fieldLabel(preferences.fieldList[0].type))
                            .tickFormat(
                                    d3
                                    .format(fieldFormat(preferences.fieldList[0].type)));

                }
                break;
  

Вывод этого кода

Это результат кода . Вводя интерактивное руководство, кажется, что оно показывает данные

Я не могу создать диаграмму областей с накоплением, как описано в этом примере области с накоплением ссылок

Данные

json={«fieldList»:[{«id»:»cost»,»type»:»money»},{«id»:»actualCost»,»type»:»money»},{«id»:»costOverruns»,»type»:»money»},{«id»:»remainingCost»,»type»:»money»},{«id»:»remainingWork»,»type»:»work»}],»componentIdKey»:»com.projectlibre.graphic.view.ViewComponentConfiguration/node.dashboard/ViewComponent.Web.Chart.stackedAreaChart»,»fieldListKey»:»com.projectlibre.core.поле.Список полей / project.dashboard.stackedAreaChart / FieldList.Chart.stackedAreaChart.budgetCostOverruns»,»zoomIndex»:»2″,»componentId»:»ViewComponent.Web.Chart.stackedAreaChart»}

jsonNodes = [{«uid»:»da788db8-5981-4c78-a39e-9be27195e0fb_4_2″,»id»:1,»summary»:false,»fields»:{«cost»:»5.0308925723E10″,»actualCost»:»4.92707912507E11″,»costOverruns»:»4.42398986784E11″,»remainingCost»:»-4.42398986784E11″,»name»:»Project1″},»intervals»:[{«start»:1.475571051423E12,»finish»:1.476694251423E12}]},{«uid»:»2c53d187-c48e-44c8-aab7-2a091fe11ad0_4_3″,»id»:2,»summary»:false,»fields»:{«cost»:»6.958011879E9″,»actualCost»:»7.09454607E8″,»costOverruns»:»0.0″,»remainingCost»:»6.248557272E9″,»name»:»Project2″},»intervals»:[{«start»:1.475571051791E12,»finish»:1.475657451791E12}]},{«uid»:»4e4edd23-2aaa-44f2-9811-286dfddc5ddd_4_6″,»id»:3,»summary»:false,»fields»:{«cost»:»6.60208339E9″,»actualCost»:»7.01800174E8″,»costOverruns»:»0.0″,»remainingCost»:»5.900283216E9″,»name»:»Project5″},»intervals»:[{«start»:1.475571054669E12,»finish»:1.475657454669E12}]},{«uid»:»c7027329-d68d-493e-a8cf-23f84c8dce28_4_1″,»id»:4,»summary»:false,»fields»:{«cost»:»7.692646964E9″,»actualCost»:»5.78513824748E11″,»costOverruns»:»5.70821177784E11″,»remainingCost»:»-5.70821177784E11″,»name»:»Project»},»intervals»:[{«start»:1.475571051063E12,»finish»:1.476348651063E12}]},{«uid»:»374aefc2-d9d6-4f97-bfae-c5d7618f2672_4_4″,»id»:5,»summary»:false,»fields»:{«cost»:»6.60208339E9″,»actualCost»:»7.01800174E8″,»costOverruns»:»0.0″,»remainingCost»:»5.900283216E9″,»name»:»Project3″},»intervals»:[{«start»:1.475571052612E12,»finish»:1.475657452612E12}]}]

Комментарии:

1. Можете ли вы просто включить примерные данные. Я думаю, что это должны быть d.x и d.y вместо d [0] и d[1]

2. @user3696882 я добавил данные, которые я использую для этой диаграммы с накоплением, я пытался использовать ваше предложение, но не получилось