javascript - 使用 Chart.js 显示图表

标签 javascript html canvas charts chart.js

我对 JavaScript 和 HTML5 还很陌生。我正在尝试使用 Chart.js 将普通折线图打印到 Canvas 上。我按照他们网站上的分步指南进行操作,但无法显示图表。

这是当前代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CHARTS</title>
<script src="../../../Downloads/Chart.js-master/Chart.js"></script>
</head>

<body>
<canvas id="myCanvas" width="800" height="500" style="border:dashed #FF0000">Aw Snap!</canvas>

<script>
context = document.getElementById('myCanvas').getContext('2d');

var data = {
    labels : ["January","February","March","April","May","June","July"],
    datasets : [
        {
            fillColor : "rgba(220,220,220,0.5)",
            strokeColor : "rgba(220,220,220,1)",
            pointColor : "rgba(220,220,220,1)",
            pointStrokeColor : "#fff",
            data : [65,59,90,81,56,55,40]
        },
        {
            fillColor : "rgba(151,187,205,0.5)",
            strokeColor : "rgba(151,187,205,1)",
            pointColor : "rgba(151,187,205,1)",
            pointStrokeColor : "#fff",
            data : [28,48,40,19,96,27,100]
        }
    ]
}
Line.defaults = {

    //Boolean - If we show the scale above the chart data           
    scaleOverlay : false,

    //Boolean - If we want to override with a hard coded scale
    scaleOverride : false,

    //** Required if scaleOverride is true **
    //Number - The number of steps in a hard coded scale
    scaleSteps : null,
    //Number - The value jump in the hard coded scale
    scaleStepWidth : null,
    //Number - The scale starting value
    scaleStartValue : null,

    //String - Colour of the scale line 
    scaleLineColor : "rgba(0,0,0,.1)",

    //Number - Pixel width of the scale line    
    scaleLineWidth : 1,

    //Boolean - Whether to show labels on the scale 
    scaleShowLabels : true,

    //Interpolated JS string - can access value
    scaleLabel : "<%=value%>",

    //String - Scale label font declaration for the scale label
    scaleFontFamily : "'Arial'",

    //Number - Scale label font size in pixels  
    scaleFontSize : 12,

    //String - Scale label font weight style    
    scaleFontStyle : "normal",

    //String - Scale label font colour  
    scaleFontColor : "#666",    

    ///Boolean - Whether grid lines are shown across the chart
    scaleShowGridLines : true,

    //String - Colour of the grid lines
    scaleGridLineColor : "rgba(0,0,0,.05)",

    //Number - Width of the grid lines
    scaleGridLineWidth : 1, 

    //Boolean - Whether the line is curved between points
    bezierCurve : true,

    //Boolean - Whether to show a dot for each point
    pointDot : true,

    //Number - Radius of each point dot in pixels
    pointDotRadius : 3,

    //Number - Pixel width of point dot stroke
    pointDotStrokeWidth : 1,

    //Boolean - Whether to show a stroke for datasets
    datasetStroke : true,

    //Number - Pixel width of dataset stroke
    datasetStrokeWidth : 2,

    //Boolean - Whether to fill the dataset with a colour
    datasetFill : true,

    //Boolean - Whether to animate the chart
    animation : true,

    //Number - Number of animation steps
    animationSteps : 60,

    //String - Animation easing effect
    animationEasing : "easeOutQuart",

    //Function - Fires when the animation is complete
    onAnimationComplete : null

}

new Chart(context).Line(data,options);

</script>

</body>

我做错了什么导致我的图表无法显示?

最佳答案

当您调用“new Chart”时,数据变量尚未初始化。将“新图表”移动到 JS block 的末尾。

提示 - 使用 JS 控制台检查错误。

编辑:还有两个额外的 JavaScript 错误 - options 变量未初始化,Line 是 undefined variable 。请查看我下面的回复以获取演示链接。

关于javascript - 使用 Chart.js 显示图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20380611/

相关文章:

javascript - 聊天文本自动向下滚动并从数据库加载信息

javascript - this-parent 和 this 的问题

javascript - FireFox - 隐藏 DIV 后切换焦点?

html - 将鼠标悬停在跨度上的编辑图标(当其内容长于跨度时)

javascript - HTM5 Canvas,更改动画效果的建议

javascript - 有没有办法用相对定位来绘制 Canvas 图像

html - 如何在 Canvas 上绘制负 x 和 y 值

javascript - 如何在 Angular 10 项目中使用 chart.js 在条形图上显示数据标签?

javascript - 在 JavaScript 上请求客户端证书

html - 将标题顶部的文本移动到标题中间