Layui 和 echars 之 实现饼状图,柱状图,折线图

参考网址
https://blog.csdn.net/qq_36949176/article/details/105602351

效果图
在这里插入图片描述

实现

引入

<script src="_PUBLIC_/layui/layui.js" charset="utf-8"></script>

<script src="https://cdn.jsdelivr.net/npm/echarts@5.1.1/dist/echarts.min.js"></script>

body 中

<!-- 柱状图 折线图  饼状图 -->
<div class="layui-card">
    <div class="layui-card-header">图表统计</div>
        <div class="layui-card-body">
            <div id="EchartZhu" style="width: 500px;height: 500px;"> </div>
    </div>
</div>

js 中

<script type="text/javascript">

layui.use(['jquery', 'form', 'layer', 'laydate', 'table','layedit','upload', 'element', 'carousel'],function(){

    var $ = layui.jquery;
    var element = layui.element;
    carousel = layui.carousel;
    // echarts = layui.echarts;
    var form = layui.form;
    var layer = layui.layer;
    var laydate = layui.laydate;
    var table = layui.table;
    var layedit = layui.layedit;
    var upload = layui.upload;
    // var dtree = layui.dtree;


    var chartZhu = echarts.init(document.getElementById('EchartZhu'));
    //指定图表配置项和数据
    var optionchart = {
        title: {
            text: '数据分析'
        },
        tooltip: {},
        legend: {
            data: ['数据量']
        },
        xAxis: {
            data: ['周一', '周二', '周三', '周四', '周五', '周六', '周天']
        },
        yAxis: {
            type: 'value'
        },
        series: [{
            name: '销量',
            type: 'bar', //柱状
            data: [100,200,300,400,500,600,700],
            itemStyle: {
                normal: { //柱子颜色
                    color: 'red'
                }
            },
        },{
            name:'产量',
            type:'bar',
            data:[120,210,340,430,550,680,720],
            itemStyle:{
                normal:{
                    color:'blue'
                }
            }
        }]
    };

    var optionchartZhe = {
        title: {
            text: '数据分析'
        },
        tooltip: {},
        legend: { //顶部显示 与series中的数据类型的name一致
            data: ['销量', '产量', '营业额', '单价']
        },
        xAxis: {
            // type: 'category',
            // boundaryGap: false, //从起点开始
            data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']
        },
        yAxis: {
            type: 'value'
        },
        series: [{
            name: '销量',
            type: 'line', //线性
            data: [145, 230, 701, 734, 1090, 1130, 1120],
        }, {
            name: '产量',
            type: 'line', //线性
            data: [720, 832, 801, 834, 1190, 1230, 1220],
        }, {
            smooth: true, //曲线 默认折线
            name: '营业额',
            type: 'line', //线性
            data: [820, 932, 901, 934, 1290, 1330, 1320],
        }, {
            smooth: true, //曲线
            name: '单价',
            type: 'line', //线性
            data: [220, 332, 401, 534, 690, 730, 820],
        }]
    };

    var optionchartBing = {
        title: {
            text: '数据分析',
            subtext: '纯属虚构', //副标题
            x: 'center' //标题居中
        },
        tooltip: {
            // trigger: 'item' //悬浮显示对比
        },
        legend: {
            orient: 'vertical', //类型垂直,默认水平
            left: 'left', //类型区分在左 默认居中
            data: ['单价', '总价', '销量', '产量']
        },
        series: [{
            type: 'pie', //饼状
            radius: '60%', //圆的大小
            center: ['50%', '50%'], //居中
            data: [{
                value: 335,
                name: '单价'
            },
                {
                    value: 310,
                    name: '总价'
                },
                {
                    value: 234,
                    name: '销量'
                },
                {
                    value: 135,
                    name: '产量'
                }
            ]
        }]
    };
    // chartZhu.setOption(optionchart, true);       // 柱状图
    // chartZhu.setOption(optionchartZhe, true);    // 折线图
    chartZhu.setOption(optionchartBing, true);      // 饼状图

});

</script>
ECharts是一个基于JavaScript的开源可视化库,它提供了各种类型的图表,如折线图柱状图、饼图等等。实现多个折线图柱状图混合的方法如下: 1. 定义一个包含多个数据系列的option对象,每个数据系列对应一个折线图柱状图。 2. 在option对象中定义x轴和y轴的数据,以及图表的样式、标题等属性。 3. 使用ECharts的实例化对象将option对象传入,并将图表渲染到指定的DOM元素中。 以下是一个示例代码,实现了两个折线图和一个柱状图混合显示: ```javascript // 定义数据 var data1 = [10, 20, 30, 40, 50, 60]; var data2 = [15, 25, 35, 45, 55, 65]; var data3 = [8, 18, 28, 38, 48, 58]; // 定义option对象 var option = { legend: { data: ['折线图1', '折线图2', '柱状图'] }, tooltip: { trigger: 'axis' }, xAxis: { type: 'category', data: ['周一', '周二', '周三', '周四', '周五', '周六'] }, yAxis: [ { type: 'value', name: '折线图1', axisLabel: { formatter: '{value} °C' } }, { type: 'value', name: '折线图2', axisLabel: { formatter: '{value} %' } }, { type: 'value', name: '柱状图', axisLabel: { formatter: '{value} 个' } } ], series: [ { name: '折线图1', type: 'line', data: data1 }, { name: '折线图2', type: 'line', yAxisIndex: 1, data: data2 }, { name: '柱状图', type: 'bar', yAxisIndex: 2, data: data3 } ] }; // 实例化ECharts对象 var myChart = echarts.init(document.getElementById('chart')); // 渲染图表 myChart.setOption(option); ```
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值