18910140161

JavaScript-ChartJs条未显示向上-堆栈溢出

顺晟科技

2022-10-19 12:25:26

113

首先,我只想说我是一名编程学生,对所有这些都相当陌生,包括chartjs。

我正在编写一个程序,该程序将使用从服务器提取的数据显示图表。此图表将通过向服务器发出请求每X秒自动更新一次。我之前做过一个和这个非常相似的图表,使用了基本相同的数据,以同样的方式。然而,这是一种不同类型的图表,我假设我遗漏了什么或做错了什么,但我不太明白。

我希望留下一个使用相同数据的工作代码段,但我不能显示服务器的地址和密钥,因为这是来自我公司的真实地址和密钥,所以我将保留代码隐藏特定信息,并显示我从服务器得到的响应。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <!--- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <link rel="stylesheet" type="text/css" href="styleSGraph.css">
    <title>Second Graph</title>
</head>
<body>
    <button id="pageChange" onclick="change_page();">Change Page</button>
    <div id="container">
        <canvas id="bar-chart-projekt"></canvas>
    </div>




<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script>
<script src="scriptSGraph.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>


</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <!--- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <link rel="stylesheet" type="text/css" href="styleSGraph.css">
    <title>Second Graph</title>
</head>
<body>
    <button id="pageChange" onclick="change_page();">Change Page</button>
    <div id="container">
        <canvas id="bar-chart-projekt"></canvas>
    </div>




<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script>
<script src="scriptSGraph.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>


</body>
</html>

当前,图表的外观如下:

正如您所看到的,图表没有任何条形图,但是,正如您可能看到的,左边的数字与我为图表设置的数据变量相吻合(我将在下面显示这一点)。

以下是变量的内容(取自控制台):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <!--- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <link rel="stylesheet" type="text/css" href="styleSGraph.css">
    <title>Second Graph</title>
</head>
<body>
    <button id="pageChange" onclick="change_page();">Change Page</button>
    <div id="container">
        <canvas id="bar-chart-projekt"></canvas>
    </div>




<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script>
<script src="scriptSGraph.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>


</body>
</html>

下面是变量的内容(取自控制台):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <!--- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <link rel="stylesheet" type="text/css" href="styleSGraph.css">
    <title>Second Graph</title>
</head>
<body>
    <button id="pageChange" onclick="change_page();">Change Page</button>
    <div id="container">
        <canvas id="bar-chart-projekt"></canvas>
    </div>




<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script>
<script src="scriptSGraph.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>


</body>
</html>

所以,我希望的内容显示在底部,当然,条形图实际上是根据来自变量的信息显示的。我希望我没有错过任何必要的信息,但请让我知道如果我错过了!感谢阅读!


顺晟科技:

我认为可能发生的情况是,第一次初始化图表时,它没有任何数据或标签,但第二次调用方法时,它添加了数据,但由于没有任何标签,因此没有任何地方可以映射。

因此,在更新数据的if语句中,还需要调用:

然后调用update方法。

顺便说一句,您的图例没有隐藏,也没有显示标题的原因是因为这些图例的名称空间在V3中发生了变化,所以您需要在and中配置它们,而不是在and中配置它们

步骤1- 下载图表js

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <!--- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <link rel="stylesheet" type="text/css" href="styleSGraph.css">
    <title>Second Graph</title>
</head>
<body>
    <button id="pageChange" onclick="change_page();">Change Page</button>
    <div id="container">
        <canvas id="bar-chart-projekt"></canvas>
    </div>




<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script>
<script src="scriptSGraph.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>


</body>
</html>

步骤2 将chart.min.js从 NODE_MODULES/CHARTJS/DIST 到您想要的位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <!--- <meta name="viewport" content="width=device-width, initial-scale=1.0"> -->
    <link rel="stylesheet" type="text/css" href="styleSGraph.css">
    <title>Second Graph</title>
</head>
<body>
    <button id="pageChange" onclick="change_page();">Change Page</button>
    <div id="container">
        <canvas id="bar-chart-projekt"></canvas>
    </div>




<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.min.js"></script>
<script src="scriptSGraph.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>


</body>
</html>
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航