как удалить или скрыть пробел ряда 0 или нулевого значения из определенного столбца столбца amchart4 - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь построить динамическую столбчатую диаграмму amchart4, в которой у меня есть 4 серии test_type = FA1, FA2, FA3 и FA4 и два столбца = математика, а в науке теперь математика имеет два значения FA1 и FA2, а наука имеет два значения FA3 иFA4

теперь, что происходит, я создал серию, используя цикл, зависит от серии test_type, теперь в выходном столбце, который является математическим, он показывает 4 серии с двумя барами для FA1, FA2 и двумя пустыми FA3, FA4, как в столбцедве науки это показывает 4 серии с двумя полосами для FA3, FA4 и двумя пустыми FA1, FA2

я использовал amchart4

   var data = JSON.parse(document.getElementById("chartdata").innerHTML);
                    var dataprovider = data.data;
                    var serieslist = data.test_type_list;
                    
                    var chart = am4core.create("chartdiv", am4charts.XYChart);
                    chart.data = dataprovider;
                    var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
                    categoryAxis.dataFields.category = "suject";
                    categoryAxis.renderer.grid.template.location = 0;
                    categoryAxis.renderer.minGridDistance = 30;


                    var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());

                    for (var i = 0; i < serieslist.length; i++) {
                        var series = chart.series.push(new am4charts.ColumnSeries());
                        series.dataFields.valueY = serieslist[i];
                        series.dataFields.categoryX = "suject";
                        series.name = serieslist[i];
                        series.columns.template.tooltipText = serieslist[i] + ":[bold]{valueY}[/]";
                        series.columns.template.fillOpacity = .8;

                      
                    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="//www.amcharts.com/lib/4/core.js"></script>
<script src="//www.amcharts.com/lib/4/charts.js"></script>
<div id="chartdiv"></div>
<div id="chartdata">{"data":[{"suject":"maths","fa1":"70"},{"suject":"maths","fa2":"20"},{"suject":"science","fa4":"10"},{"suject":"science","fa3":"80"}],"test_type_list":["fa1","fa2","fa3","fa4"]}</div>

мне нужны только те столбцы, которые имеют значение серии, как в моем случае, только в двух столбцах FA1 и FA2 в первом столбце есть значение, которое является математическим, и естьнет места для нулевого или нулевого ряда значений FA3 и FA4

...