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
                    }]
                }
    }
});
相关文章
|
17天前
|
Web App开发 监控 JavaScript
监控和分析 JavaScript 内存使用情况
【10月更文挑战第30天】通过使用上述的浏览器开发者工具、性能分析工具和内存泄漏检测工具,可以有效地监控和分析JavaScript内存使用情况,及时发现和解决内存泄漏、过度内存消耗等问题,从而提高JavaScript应用程序的性能和稳定性。在实际开发中,可以根据具体的需求和场景选择合适的工具和方法来进行内存监控和分析。
|
2月前
|
前端开发
用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版
用html+javascript打造公文一键排版系统3:获取参数设置、公文标题排版
|
6天前
|
JavaScript 前端开发 API
Vue.js与Angular的优劣分析
Vue.js和Angular都是非常流行的JavaScript框架,它们在构建现代Web应用程序方面各有优劣
|
12天前
|
运维 监控 JavaScript
鸿蒙next版开发:分析JS Crash(进程崩溃)
在HarmonyOS 5.0中,JS Crash指未处理的JavaScript异常导致应用意外退出。本文详细介绍如何分析JS Crash,包括异常捕获、日志分析和典型案例,帮助开发者定位问题、修复错误,提升应用稳定性。通过DevEco Studio收集日志,结合HiChecker工具,有效解决JS Crash问题。
33 4
|
15天前
|
JavaScript 前端开发
.js方法参数argument
【10月更文挑战第26天】`arguments` 对象为JavaScript函数提供了一种灵活处理参数的方式,能够满足各种不同的参数传递和处理需求,在实际开发中具有广泛的应用价值。
34 7
|
21天前
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
138 9
|
20天前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
28 1
|
21天前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
17 1
|
1月前
|
数据采集 JSON 前端开发
JavaScript逆向爬虫实战分析
JavaScript逆向爬虫实战分析
|
2月前
|
JavaScript 前端开发
JavaScript基础知识-函数的参数
关于JavaScript函数参数基础知识的介绍。
27 4
JavaScript基础知识-函数的参数
下一篇
无影云桌面