【问题标题】:Chart.js not renderingChart.js 不呈现
【发布时间】:2021-07-04 04:37:05
【问题描述】:

我最近一直在使用和学习 Flask 和 python,并希望使用一些图表来可视化一些数据。我直接按照 youtube 指南使用了几乎完全相同的代码来可视化我的数据,但它没有用。所以,我尝试使用他的确切代码,但它仍然没有呈现图表。可能是什么问题?

from flask import flask, render template

app = flask(__name__)

data = [
    ("01-01-2020", 1597),
    ("02-01-2020", 1456),
    ("03-01-2020", 1908),
    ("04-01-2020", 896),
    ("05-01-2020", 755),
    ("06-01-2020", 453),
    ("07-01-2020", 1100),
    ("08-01-2020", 1235),
    ("09-01-2020", 1478),
]
labels = [row[0] for row in data]
values = [row[1] for row in data]

return render_template("graph.html", labels=labels, values=values)

上面是我的python应用程序的一部分,下面是它的HTML:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title> Sample chart </title>
  <script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.4/dist/Chart.min.js"></script>
</head>


<body>
    <canvas id="lineChart" width="900" height="400"></canvas>
    <script>
        var ctx = document.getElementById("lineChart").getContext("2d");
        var lineChart = new Chart(ctx, {
            type: "line",
            data: {
                labels: {{ labels | safe }}
                datasets: [
                    {
                        label: "Data points",
                        data: {{ values | safe }}
                        fill: true,
                        borderColor: "rgb(75, 192, 192)",
                        lineTension: 0.1
                    }
                ]
            },
            options: {
                responsive: false
            }
        });
    </script>
</body>
</html> 

当我加载我的本地主机时,页面是空的。根本不值一提。如果我把它放在上面,它就可以了:

<p> {{ labels }} </p>

当我检查网页时,我可以看到所有的 html 代码,但是,当我在控制台中检查时,出现错误:

未捕获的语法错误:意外的标识符
示例:17

试着用谷歌搜索了一下,但并没有真正得到我理解使用的任何东西。那么,关于可能是什么问题的任何想法?

(另外,我会链接 youtube 视频,但我有点不确定规则,我是否可以在这里复制他的代码?)

【问题讨论】:

  • 您使用的是 npm 安装的图表 js,所以可能是一些路径问题或没有使用正确的脚本,尽管您可以使用 cdn 库cdnjs.cloudflare.com/ajax/libs/Chart.js/3.0.2/chart.min.js
  • npm 安装是什么意思?我将如何使用该库,将其复制到
  • 你正在使用 npm 安装图表,男孩
  • 这就是它不工作的原因吗?

标签: javascript python html flask


【解决方案1】:

你必须使用或导入图表js库,否则通过documentation first

如果你使用 CDN 就这样

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

【讨论】:

  • 我认为我是在 html 文件的第 6 行这样做的?
  • 如果它不是由您正在使用的脚本呈现的,请使用它,只需替换为我的代码
猜你喜欢
  • 1970-01-01
  • 2017-06-02
  • 2018-02-09
  • 1970-01-01
  • 2016-07-26
  • 2018-01-26
  • 2016-09-01
  • 2018-12-04
  • 1970-01-01
相关资源
最近更新 更多