当前位置: 首页 > 面试题库 >

在Chartjs中显示JSON数据

公良泰宁
2023-03-14
问题内容

我正在尝试使用Chart
JS
创建一个表,该表具有来自JSON文件的动态生成的数据点。我的代码的逻辑如下所示:

var datapart;
for (i = 0; i < jsonfile.jsonarray.length; i++){
     datapart += {
          label: jsonfile.jsonarray[i].name,
          data: [jsonfile.jsonarray[i].age] 
     };
}

var config = {
   type: 'line',
   data: {
      labels: ["Graph Line"],
      datasets: [datapart]
   }
}

同时,我的JSON文件如下所示:

{
"jsonarray": [
    {
      "name": "Joe",
      "age": 12
    },
    {
      "name": "Tom",
      "age": 14
    }
]
}

config变量包含ChartJS的配置设置,包括设置数据点。当加载到ChartJS中时,config提供显示我的图表所需的信息。

无论如何,我的想法是使用变量datapart作为使用for循环附加数据集的一种方式。不幸的是,该代码未产生任何结果。我知道我添加变量的方法有问题,但是不确定如何进行。

如何将这些JSON值添加到Chart.js?


问题答案:

您构建图表的方法是完全不合适的。这是您应该遵循的正确方法:

var jsonfile = {

   "jsonarray": [{

      "name": "Joe",

      "age": 12

   }, {

      "name": "Tom",

      "age": 14

   }]

};



var labels = jsonfile.jsonarray.map(function(e) {

   return e.name;

});

var data = jsonfile.jsonarray.map(function(e) {

   return e.age;

});;



var ctx = canvas.getContext('2d');

var config = {

   type: 'line',

   data: {

      labels: labels,

      datasets: [{

         label: 'Graph Line',

         data: data,

         backgroundColor: 'rgba(0, 119, 204, 0.3)'

      }]

   }

};



var chart = new Chart(ctx, config);


<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>

<canvas id="canvas"></canvas>


 类似资料:
  • 我是ChartJS的新手,我对这个传说有一些问题。我有一个简单的条形图,只有3条像: 但我显示的图表是空的:(我还尝试通过在画布下方添加另一个div来显示图例,并通过以下方式调用它: 同样的结果是:( 我做错了什么?

  • 我使用的是带有2条线的图表js折线图。我有7个x轴数据点。我只想显示第一个、第二个和最后一个数据点。但我想在工具提示中显示每个数据点。目前,我只在 x 轴标签中列出 1、2 和 7,因此工具提示在 2 上正确显示,但在其他区域当然什么都没有。那么有没有办法不在x轴上显示特定的数据点(但在代码中仍然有用于工具提示的数据)?(另外,这是一个非常简化的例子,说明我正在尝试做什么) 谢谢。

  • 我有一个使用chart.js创建的条形图。页面加载时一切正常,但当我使用daterangepicker更改时间范围时,出现了一个小故障。新数据被引入,但当我将鼠标悬停在上面时,旧数据会显示出来。我是javascript新手,希望能得到一些帮助。看起来我需要合并。销毁();不知怎么的,但我不知道怎么做。下面是我的代码片段: 破坏原始数据的最佳方法是什么,以便当我更改日期范围并将鼠标悬停在新图表上时,

  • 问题内容: 我在Angular中显示JSON数据时遇到麻烦。我已成功将数据从后端发送到前端(角度),但无法显示它们。 我已经尝试在JSFiddle上模拟类似的情况,尽管我已经从后端准备了数据 获取/发送数据->后端: 获取数据->前端(角度) 带有ng-repeat指令的HTML部分: 谁知道是什么问题吗? 问题答案: 据我所知,您将对象存储为JSON,但从未对其进行解析。因此使用 代替 应该解决

  • 我正在使用组合图和图表。js在我的网站上。 PFB我用的代码。 var PCTCtx=document.getElementById("pctdiv"). getContext("2d"); 我需要在条形图上显示的线。 我在这里为相同的内容创建了一个jsfiddle 任何帮助都是可观的。

  • 我对flutter还是新手,我一直试图在条形图中显示http请求中的一些数据。我找不到任何例子。我希望你们中的一些人能帮忙:) 我想使用网上画廊的这张图表。我只是为我的应用程序更改了类的名称: 现在我想把这两者结合起来。 数据是这样的: [{“时间戳”:“2018-06-29 14:39:18”,“RPM”:0,“RPM_Filter”:0,“accel”:0,“temp1”:104,“temp2