如何获取Chart.js的图表实例

时间:2015-07-23 16:07:22

标签: javascript chart.js

我使用Python / Django和默认的Django模板。 我头脑中有这个(这个位置的其他django静态文件工作正常):

<script type="text/javascript" src="{% static "js/Chart.min.js" %}"></script>

当然,我将Chart.min.js从主Chart.js下载中提取到静态js目录中。

在我的身体里,我有:

<div class="graph">
    <canvas id="dgraph" width="600" height="400"></canvas>              
</div>

我身体也有:

<script type="text/javascript" src="{% static "js/stuff.js" %}"></script>

在stuff.js中我有:

    var data = [
    {
        value: 20,
        color:"#878BB6"
    },
    {
        value : 40,
        color : "#4ACAB4"
    },
    {
        value : 10,
        color : "#FF8153"
    },
    {
        value : 30,
        color : "#FFEA88"
    }
];

//获取我们想要选择的canvas元素的上下文

var ctx = document.getElementById("dgraph").getContext("2d");
new Chart(ctx).Doughnut(data, {});

然而,当我尝试在浏览器中显示它时(Chrome发生了)我在控制台中看到了这一点:

Uncaught ReferenceError: Chart is not defined

地球上的Chart对象是从哪里获得的?这似乎是非常基础的,我觉得好像我已经遵循了google和stackoverflow上的所有可用指令。请帮忙!

2 个答案:

答案 0 :(得分:3)

Chart对象在Chart.min.js中定义。看起来该脚本没有被加载。

我认为您的标题中src标记中的<script>属性值缺少引号 - 请尝试:

<script type="text/javascript" src="{% static 'js/Chart.min.js' %}"></script>

答案 1 :(得分:1)

我发现通过将包含jQuery的行包含在Chart.min.js所包含的行之后,它会栩栩如生。像这样:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script type="text/javascript" src="{% static 'js/Chart.min.js' %}"></script>

据推测,Chart.js依赖于jQuery。