Chart.js:图表未显示

时间:2014-07-21 12:48:14

标签: javascript html5 html5-canvas

我想使用 Chart.js 在网页上创建令人惊叹的图表。

在文档之后,我编写了如下代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8"/>
    <title>Chart.js demo</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/0.2.0/Chart.min.js" type="text/javascript"></script>
</head>

<body>
    <script>
        var pieData = [
            {
                value: 20,
                color:"#878BB6"
            },
            {
                value : 40,
                color : "#4ACAB4"
            },
            {
                value : 10,
                color : "#FF8153"
            },
            {
                value : 30,
                color : "#FFEA88"
            }
        ];
        // Get the context of the canvas element we want to select
        var countries= document.getElementById("countries").getContext("2d");
        new Chart(countries).Pie(pieData);
    </script>

    <h1>Chart.js Sample</h1>
    <canvas id="countries" width="600" height="400"></canvas>
</body>

</html>

图表没有出现的原因是什么?

3 个答案:

答案 0 :(得分:20)

在canvas元素外添加一个div:

<div><canvas id="countries" width="600" height="400"></canvas></div>

答案 1 :(得分:19)

首先,你必须在canvas声明之后放置你的脚本。 之后,删除饼图选项(或定义它们)。

<html>
<head>
    <meta charset="utf-8"/>
    <title>Chart.js demo</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/0.2.0/Chart.min.js" type="text/javascript"></script>
</head>
<body>


    <h1>Chart.js Sample</h1>

    <canvas id="countries" width="600" height="400"></canvas>
    <script>
        var pieData = [
            {
                value: 20,
                color:"#878BB6"
            },
            {
                value : 40,
                color : "#4ACAB4"
            },
            {
                value : 10,
                color : "#FF8153"
            },
            {
                value : 30,
                color : "#FFEA88"
            }
        ];
        // Get the context of the canvas element we want to select
        var countries= document.getElementById("countries").getContext("2d");
        new Chart(countries).Pie(pieData);
    </script>
</body>

答案 2 :(得分:1)

pieOptions为null :)只需将其从.Pie()调用中删除即可。

http://jsbin.com/decagicu/1/

并保持浏览器脚本控制台处于打开状态,这样您就可以看到它为您提供的所有有价值的输出:)