Chart.js user guide


图表显示数据,他们更容易来看待和快速传送数据,但他们并不总是很容易创建。


一个伟大的方式开始使用图表与Chart.js


使用HTML5的canvas元素的图形绘制到页面上一个JavaScript插件。这是一个有据可查的插件,使得使用各种条形图,折线图,饼图等,非常方便。

来看看如何使用我们要创建一组3图chart.js ;显示买家的数量一个虚构的产品已超过6个月的过程中,这将是一个折线图,第二个将显示哪些国家的客户来自何方,这将是饼图,最后我们将使用一个条形图显示利润在此期间。

 

设置

我们需要做的第一件事是


下载Chart.js


复制Chart.min.js出解压缩文件夹,进入你会工作。然后创建一个新的HTML页面和导入脚本的目录:

<!DOCTYPE html>
<htmllang="en">
    <head>
        <metacharset="utf-8" />
        <title>Chart.js demo</title>
        <scriptsrc='Chart.min.js'></script>
    </head>
    <body>
    </body>
</html>

 

绘制折线图

要绘制折线图,我们需要做的第一件事是创建在我们的HTML canvas元素在其中Chart.js可以得出我们的图表。所以它添加到我们的HTML页面的主体:

<canvasid="buyers"width="600"height="400"></canvas>

接下来,我们需要编写,将检索画布的背景下,所以它添加到你的身体元素脚下的脚本:

<script>
    var buyers = document.getElementById('buyers').getContext('2d');
    new Chart(buyers).Line(buyerData);
</script>

里面的相同的脚本标签,我们需要建立我们的数据,在这种情况下它是一个对象,它包含了我们的图表和数据集来描述图表上的值的基础标签。

var buyerData = {
        labels : ["January","February","March","April","May","June"],
        datasets : [
               {
                       fillColor : "rgba(172,194,132,0.4)",
                       strokeColor : "#ACC26D",
                       pointColor : "#fff",
                       pointStrokeColor : "#9DB86D",
                       data : [203,156,99,251,305,247]
               }
        ]
}

如果你在浏览器中测试你的文件,你会看到现在一个很酷的动画线图。

 

绘制一个饼图

日线图上是完整的,所以让我们继续我们的饼图。首先,我们需要canvas元素:

<canvasid="countries"width="600"height="400"></canvas>

接下来,我们需要得到的背景和实例化的图表:

var countries= document.getElementById("countries").getContext("2d");
new Chart(countries).Pie(pieData, pieOptions);

你会发现,这一次,我们将提供一些选项到图表中。

接下来,我们需要创建数据。这个数据是一个有点不同的路线图,因为饼图比较简单,我们只需要提供一个值和颜色的每个部分:

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

 

现在,马上pieData后,我们将添加我们的选择:

var pieOptions = {
        segmentShowStroke : false,
        animateScale : true
}

这些选项做两件事情,第一,他们从各段中取出行程,然后他们动画饼的规模,使其缩小无中生有。

 

绘制条形图

最后,让我们来一个柱状图添加到我们的页面。令人高兴的语法条形图很相似,我们已经增加了折线图。首先,我们添加canvas元素:

<canvasid="income"width="600"height="400"></canvas>

接下来,我们获取的元素,并创建图形:

var income = document.getElementById("income").getContext("2d");
new Chart(income).Bar(barData);

最后,我们添加在条形图的数据:

var barData = {
        labels : ["January","February","March","April","May","June"],
        datasets : [
               {
                       fillColor : "#48A497",
                       strokeColor : "#48A4D1",
                       data : [456,479,324,569,702,600]
               },
               {
                       fillColor : "rgba(73,188,170,0.4)",
                       strokeColor : "rgba(72,174,209,0.4)",
                       data : [364,504,605,400,345,320]
               }

        ]
}

正如你所看到的,大部分数据是一样的,只不过这次我们选择使用RGBA来指定我们的颜色,让我们来添加透明度。

 

结论

您可以查看

这一行动演示在这里,

 如果你更喜欢复制和粘贴,这里是完整的脚本:

<!DOCTYPE html>
<htmllang="en">
    <head>
        <metacharset="utf-8" />
        <title>Chart.js demo</title>
        <!-- import plugin script -->
        <scriptsrc='Chart.min.js'></script>
    </head>
    <body>
        <!-- line chart canvas element -->
        <canvasid="buyers"width="600"height="400"></canvas>
        <!-- pie chart canvas element -->
        <canvasid="countries"width="600"height="400"></canvas>
        <!-- bar chart canvas element -->
        <canvasid="income"width="600"height="400"></canvas>
        <script>
            // line chart data
            var buyerData = {
                labels : ["January","February","March","April","May","June"],
                datasets : [
                {
                    fillColor : "rgba(172,194,132,0.4)",
                    strokeColor : "#ACC26D",
                    pointColor : "#fff",
                    pointStrokeColor : "#9DB86D",
                    data : [203,156,99,251,305,247]
                }
            ]
            }
            // get line chart canvas
            var buyers = document.getElementById('buyers').getContext('2d');
            // draw line chart
            new Chart(buyers).Line(buyerData);
            // pie chart data
            var pieData = [
                {
                    value: 20,
                    color:"#878BB6"
                },
                {
                    value : 40,
                    color : "#4ACAB4"
                },
                {
                    value : 10,
                    color : "#FF8153"
                },
                {
                    value : 30,
                    color : "#FFEA88"
                }
            ];
            // pie chart options
            var pieOptions = {
                 segmentShowStroke : false,
                 animateScale : true
            }
            // get pie chart canvas
            var countries= document.getElementById("countries").getContext("2d");
            // draw pie chart
            new Chart(countries).Pie(pieData, pieOptions);
            // bar chart data
            var barData = {
                labels : ["January","February","March","April","May","June"],
                datasets : [
                    {
                        fillColor : "#48A497",
                        strokeColor : "#48A4D1",
                        data : [456,479,324,569,702,600]
                    },
                    {
                        fillColor : "rgba(73,188,170,0.4)",
                        strokeColor : "rgba(72,174,209,0.4)",
                        data : [364,504,605,400,345,320]
                    }
                ]
            }
            // get bar chart canvas
            var income = document.getElementById("income").getContext("2d");
            // draw bar chart
            new Chart(income).Bar(barData);
        </script>
    </body>
</html>

关于Chart.js伟大的事情是,它是使用简单,真的非常灵活。另外,一旦你在这里掌握了基本知识,你会发现,有许多选项本文档中列出。


Last Article Next article

Comment 评论



Share 分享

New Users 最新加入

  • hokurikustr

  • refrain

New comments 最新评论

test123: aasdas Details Apr 13 16:39
admin: Thanks! Details Apr 09 11:46
admin: Google map api Details Apr 09 11:46
lqj12: cooooooooool Details Apr 08 21:34
Yunhan Huang: 这个功能是如何实现的? Details Apr 08 13:23