如何使用 JavaScript 中的 Fetch API 从 JSON 数据创建图表?


在本文中,我们将探讨如何在获取**JSON**数据后创建图表。为了获取 JSON 数据,我们使用**Fetch API**的 `fetch()` 方法。我们首先获取数据,一旦数据可用,我们就将其馈送到系统以创建图表。Fetch API 提供了一个简单的接口,用于访问和操作**HTTP**请求和响应。

语法

const response = fetch(resource [, init])

参数

  • **resource** − 这是获取数据的资源路径。

  • **init** − 它定义了任何额外的选项,例如标头、正文等。

方法

步骤如下:

**步骤 1** − 我们将通过调用 fetch 函数从远程服务器获取数据。

**步骤 2** − 数据可用后,我们将将其馈送到系统。

**步骤 3** − 借助 Chart JS 库,我们将为此构建图表。

示例 #1

在下面的示例中,我们从远程服务器获取数据,然后创建所需的图表。美国人口数据是从服务器获取的。

# index.html

 在线演示

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js">
   </script>
   <title>Population Chart</title>
</head>
<body>
   <h1 style="color: green;">
      Welcome To Tutorials Point
   </h1>
   <div style="width: 800, height: 600">
      <canvas id="bar-chart">
      </canvas>
   </div>
<script>
   getData();
   async function getData() {
      const response = await fetch('https://datausa.io/api/data?drilldowns=Nation&measures=Population');
      const data = await response.json();
      console.log(data);
      length = data.data.length;
      console.log(length);
      labels = [];
      values = [];
      for (i = 0; i < length; i++) {
         labels.push(data.data[i].Year);
         values.push(data.data[i].Population);
      }
      new Chart(document.getElementById("bar-chart"), {
         type: 'bar',
         data: {
            labels: labels,
            datasets: [
               {
                  label: "Population (millions)",
                  backgroundColor: ["#3a90cd",
                     "#8e5ea2",
                     "#3bba9f",
                     "#e8c3b9",
                     "#c45850",
                     "#CD9C5C",
                     "#40E0D0"],
                  data: values
               }
            ]
         },
         options: {
            legend: { display: false },
            title: {
               display: true,
               text: 'U.S population'
            }
         }
      });
   }
</script>
</body>
</html>

输出

上述程序成功执行后,将生成一个显示美国人口的条形图。您可以将鼠标悬停在条形图上以查看特定年份的人口。它也可以在下面的 GIF 图片中看到。

更新于:2022年4月21日

5K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告