Chart.js-线形图分析(参数分析+例图)

简介: Chart.js-线形图分析(参数分析+例图)

线形图样式总览


20200614220044882.png

基本写法


首先在< script >标签里面引入chart.js:

<script src="chart.js/Chart.js"></script>

然后创建一个画布:

<canvas id="myChart" width="400" height="400"></canvas>

最后写js代码:

var ctx = $('#myChart');
var myChart = new Chart(ctx, {
    type: 'line',
    data: {
        labels: ['徐凤年', '裴南苇', '曹长卿', '李淳罡', '王仙芝', '温华'],
        datasets: [{
            label: '# of 战力',
            data: [10, 11, 12, 14, 7, 1],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)'
            ],
            borderColor: 'rgba(0, 0, 0, 0.2)',
            borderWidth: 1, 
        }]
    },
    options: {
        title: {
                display: true,
                text: '线形图2 - 普通线面图'
            }
    }
});

画出的柱状图如下图:

image.png

参数解析


【注意】以下都是写入在datasets中的参数:

参数名 类型 说明 默认值
backgroundColor Color 背景色。如果值为Array,只取Array[0] 'rgba(0, 0, 0, 0.1)'
borderColor Color 边框色。可取Array类型的Color 'rgba(0, 0, 0, 0.1)'
borderDash number[] 设置虚线。若设为[1,3],代表以1和3作为缺失绘制虚线 []
borderWidth number 3
cubicInterpolationMode string 绘制曲线的方法。可选值为defaultmonotone。两个参数绘制曲线的算法不同 'default'
fill boolean|string 是否填充曲线底部 true
hoverBackgroundColor Color undefined
hoverBorderCapStyle string undefined
hoverBorderColor Color undefined
hoverBorderDash number[] undefined
hoverBorderDashOffset number undefined
hoverBorderJoinStyle string undefined
hoverBorderWidth number undefined
label string 标签,图例和工具提示中的数据集标签。 ''
lineTension number 曲线的平滑度。为0时,绘制直线 0.4
pointBackgroundColor Color 'rgba(0, 0, 0, 0.1)'
pointBorderColor Color 'rgba(0, 0, 0, 0.1)'
pointBorderWidth number 1
pointHitRadius number 1
pointHoverBackgroundColor Color undefined
pointHoverBorderColor Color undefined
pointHoverBorderWidth number 1
pointHoverRadius number 4
pointRadius number 3
pointRotation number 0
pointStyle string|Image 点的类型。可选值有:'circle'、 'cross'、 'crossRot'、 'dash'、 'line'、 'rect'、 'rectRounded'、 'rectRot'、 'star'、 'triangle' 'circle'
showLine boolean 是否显示曲线。否则仅显示点 undefined
spanGaps boolean 如果有缺失的点,是否选择中断画图 undefined
steppedLine boolean|string 步进线。可选值有:false、 true、 'before'、 'after'、 'middle' false

线形图1 - 普通线形图(直线、曲线、虚线)


var ctx1 = $('#myChart1');
var myChart = new Chart(ctx1, {
    type: 'line',
    data: {
        labels: ['徐凤年', '裴南苇', '曹长卿', '李淳罡', '王仙芝', '温华'],
        datasets: [{
            label: '# of 战力',
            data: [100, 110, 120, 70, 140, 10],
            backgroundColor: 'rgba(54, 162, 235, 0.2)',
            borderColor:'rgba(153, 102, 255, 0.5)',
            borderWidth: 2,
            fill:false
        },{
            label: '# of 年龄',
            data: [24, 38, 55, 93, 82, 23],
            backgroundColor: 'rgba(54, 162, 235, 0.2)',
            borderColor:'red',
            borderWidth: 2,
            lineTension:0,
            fill:false
        },{
            label: '# of 相貌',
            data: [100, 10, 80, 3, 5, 4],
            backgroundColor: 'rgba(54, 162, 235, 0.2)',
            borderColor:'rgba(255, 206, 86, 0.9)',
            borderWidth: 2,
            fill:false,
            borderDash:[5]
        }]
    },
    options: {
        title: {
                display: true,
                text: '线形图1 - 普通线形图(直线、曲线、虚线)'
            }
    }
});

线形图2 - 普通线面图


var ctx2 = $('#myChart2');
var myChart = new Chart(ctx2, {
    type: 'line',
    data: {
        labels: ['徐凤年', '裴南苇', '曹长卿', '李淳罡', '王仙芝', '温华'],
        datasets: [{
            label: '# of 战力',
            data: [10, 11, 12, 14, 7, 1],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)'
            ],
            borderColor: 'rgba(0, 0, 0, 0.2)',
            borderWidth: 1, 
        }]
    },
    options: {
        title: {
                display: true,
                text: '线形图2 - 普通线面图'
            }
    }
});

线形图3 - 步进线(像极了哈夫曼编码)


var ctx3 = $('#myChart3');
var myChart = new Chart(ctx3, {
    type: 'line',
    data: {
        labels: ['徐凤年', '裴南苇', '曹长卿', '李淳罡', '王仙芝', '温华'],
        datasets: [{
            label: '# of 战力',
            data: [10, 11, 12, 14, 7, 1],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ],
            borderWidth: 1, 
            steppedLine:'true'
        },{
            label: '# of 才华',
            data: [2, 4, 2, 4, 2, 4],
            type:'line',
            backgroundColor:'rgba(0, 0, 0, 0.1)',
            borderColor:'rgba(0, 99, 132, 1)',
            steppedLine:'middle'
        }]
    },
    options: {
        title: {
                display: true,
                text: '线形图3 - 步进线(像极了哈夫曼编码)'
            }
    }
});

线形图4 - 点状线


var ctx4 = $('#myChart4');
var myChart = new Chart(ctx4, {
    type: 'line',
    data: {
        labels: ['徐凤年', '裴南苇', '曹长卿', '李淳罡', '王仙芝', '温华'],
        datasets: [{
            label: '# of 战力',
            data: [10, 11, 12, 14, 7, 1],
            borderColor: 'green',
            borderWidth: 1, 
            showLine:false
        },{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
            type:'line',
            backgroundColor:'rgba(0, 0, 0, 0.1)',
            borderColor:'rgba(255, 99, 132, 1)',
            showLine:false,
            pointStyle:'rect'
        }]
    },
    options: {
        title: {
                display: true,
                text: '线形图4 - 点状线'
            }
        }
});

线形图5 - 线形叠加图


var ctx5 = $('#myChart5');
var myChart = new Chart(ctx5, {
    type: 'line',
    data: {
        labels: ['徐凤年', '裴南苇', '曹长卿', '李淳罡', '王仙芝', '温华'],
        datasets: [{
            label: '# of 战力',
            data: [10, 11, 12, 14, 7, 1],
            backgroundColor: [
                'rgba(255, 99, 132, 0.2)',
                'rgba(54, 162, 235, 0.2)',
                'rgba(255, 206, 86, 0.2)',
                'rgba(75, 192, 192, 0.2)',
                'rgba(153, 102, 255, 0.2)',
                'rgba(255, 159, 64, 0.2)'
            ],
            borderColor: [
                'rgba(255, 99, 132, 1)',
                'rgba(54, 162, 235, 1)',
                'rgba(255, 206, 86, 1)',
                'rgba(75, 192, 192, 1)',
                'rgba(153, 102, 255, 1)',
                'rgba(255, 159, 64, 1)'
            ]
        },{
            label: '# of Votes',
            data: [12, 1, 3, 5, 2, 3],
            type:'line',
            backgroundColor:'rgba(54, 162, 235, 0.2)',
            borderColor:'rgba(75, 192, 192, 1)',
        }]
    },
    options: {
        title: {
                display: true,
                text: '线形图5 - 线形叠加图'
            },
        scales: {
                    xAxes: [{
                        stacked: true,
                    }],
                    yAxes: [{
                        stacked: true
                    }]
                }
    }
});
相关文章
|
3月前
|
Web App开发 前端开发 JavaScript
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
技术心得记录:瀑布流的布局原理分析(纯CSS瀑布流与JS瀑布流)
42 0
|
25天前
|
JavaScript 前端开发
JavaScript基础知识-函数的参数
关于JavaScript函数参数基础知识的介绍。
18 4
JavaScript基础知识-函数的参数
|
4天前
|
JavaScript 前端开发
JavaScript 函数参数
JavaScript 函数参数
21 3
|
2天前
|
前端开发 JavaScript
前端JS截取url上的参数
文章介绍了两种前端JS获取URL参数的方法:手动截取封装和使用URLSearchParams。
10 0
|
2月前
|
JavaScript 前端开发 网络架构
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
47 1
|
2月前
|
存储 资源调度 前端开发
JavaScript 使用axios库发送 post请求给后端, 给定base64格式的字符串数据和一些其他参数, 使用表单方式提交, 并使用onUploadProgress显示进度
使用 Axios 发送包含 Base64 数据和其他参数的 POST 请求时,可以通过 `onUploadProgress` 监听上传进度。由于整个请求体被视为一个单元,所以进度可能不够精确,但可以模拟进度反馈。前端示例代码展示如何创建一个包含 Base64 图片数据和额外参数的 `FormData` 对象,并在上传时更新进度条。后端使用如 Express 和 Multer 可处理 Base64 数据。注意,实际进度可能不如文件上传精确,显示简单加载状态可能更合适。
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的数据分析岗位招聘信息与分析附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的数据分析岗位招聘信息与分析附带文章源码部署视频讲解等
15 0
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的高校成绩分析附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的高校成绩分析附带文章源码部署视频讲解等
30 0
|
2月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的学生成绩分析和弱项辅助系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的学生成绩分析和弱项辅助系统附带文章源码部署视频讲解等
32 0
|
2月前
|
JavaScript 前端开发 数据格式
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
90 0