如何创建数组morris.js图表​​?(How to create a morris.js cha

2019-09-27 02:34发布

我有正从阵列数据到在正确显示的问题morris.js图。

你可以从这个片段只看到最后目标是在图表上的输出:

例:

 var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; var dates = ['2015-01','2016-01','2016-03']; var valueA = ['10','30','60']; var valueB = ['100','50','70']; var z=0; for (tot=dates.length; z < tot; z++) { var myArray = [{'d': dates[z], 'a': valueA[z], 'b': valueB[z]}]; } Morris.Bar({ element: 'morris-bar-chart', data: myArray, xkey: 'd', ykeys: ['a', 'b'], labels: ['2014', '2015'], xLabelFormat: function (x) { // <-- changed console.log("this is the new object:" + x); var month = months[xx]; return month; }, }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link href="http://cdn.oesmith.co.uk/morris-0.4.3.min.css" rel="stylesheet" /> <script src="http://cdn.oesmith.co.uk/morris-0.5.0.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script> <div id="morris-bar-chart" style="height: 250px;"></div> 

我的阵列名为myArray在for循环3个对象,那么为什么morris.js输出只有最后一个图表?

Answer 1:

请试试这个:

//......
var myArray = [];
for (tot=dates.length; z < tot; z++) {
   myArray.push({'d': dates[z], 'a': valueA[z], 'b': valueB[z]});
}
//......

 var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; var dates = ['2015-01','2016-01','2016-03']; var valueA = ['10','30','60']; var valueB = ['100','50','70']; var z=0; var myArray = []; for (tot=dates.length; z < tot; z++) { myArray.push({'d': dates[z], 'a': valueA[z], 'b': valueB[z]}); } Morris.Bar({ element: 'morris-bar-chart', data: myArray, xkey: 'd', ykeys: ['a', 'b'], labels: ['2014', '2015'], xLabelFormat: function (x) { // <-- changed console.log("this is the new object:" + x); var month = months[xx]; return month; }, }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link href="http://cdn.oesmith.co.uk/morris-0.4.3.min.css" rel="stylesheet" /> <script src="http://cdn.oesmith.co.uk/morris-0.5.0.min.js"></script> <script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script> <div id="morris-bar-chart" style="height: 250px;"></div> 



文章来源: How to create a morris.js chart from array?