layui框架与EChart来生成饼状图,并且可以按照时间条件来生成饼状图

layui框架与EChart来生成饼状图,并且可以按照时间条件来生成饼状图 - 知识干货、满满的,越努力越幸运

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>饼状图示例-可以按照时间条件查询</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.1/echarts.min.js"></script>
</head>
<body>
    <div class="container">
        <div class="layui-form-item">
          <label class="layui-form-label">选择日期</label>
          <div class="layui-input-inline">
            <input type="text" class="layui-input" id="date-picker" placeholder="请选择日期">
          </div>
        </div>
        <div id="chart" style="height: 400px;"></div>

    </div>
</body>
</html>

<script type="text/javascript">
// 初始化ECharts实例
var myChart = echarts.init(document.getElementById('chart'));

// 定义饼状图的配置项和数据
var option = {
    title: {
        text: '饼状图示例',
        subtext: '数据来自某个接口',
        left: 'center'
    },
    tooltip: {
        trigger: 'item',
        formatter: '{a} <br/>{b}: {c} ({d}%)'
    },
    legend: {
        orient: 'vertical',
        left: 'left',
        data: []
    },
    series: [
        {
            name: '访问来源',
            type: 'pie',
            radius: ['50%', '70%'],
            avoidLabelOverlap: false,
            label: {
                show: false,
                position: 'center'
            },
            emphasis: {
                label: {
                    show: true,
                    fontSize: '30',
                    fontWeight: 'bold'
                }
            },
            labelLine: {
                show: false
            },
            data: []
        }
    ]
};

// 使用Ajax请求数据并更新饼状图
function updateChart(date) {
    // 发送Ajax请求获取数据
    layui.$.ajax({
        url: '/api/data',
        type: 'get',
        data: {
            date: date
        },
        success: function (res) {
            // 更新legend数据
            option.legend.data = res.legend;

            // 更新series数据
            option.series[0].data = res.series;

            // 使用刚指定的配置项和数据显示图表
            myChart.setOption(option);
        },
        error: function (xhr, status, error) {
            console.log(error);
        }
    });
}

// 初始化图表
updateChart('2022-01-01');

// 监听日期选择器的变化并更新图表
layui.laydate.render({
    elem: '#date-picker',
    type: 'date',
    done: function (value, date) {
        updateChart(value);
    }
});


</script>

努力的星星,加油!

layui中导出饼状图需要使用到layui的扩展模块lay.extend()和echarts的组件库。下面是实现步骤: 1. 引入echarts的组件库和相关的CSS文件。 ```html <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.css"> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script> ``` 2. 创建一个具有指定id的元素,作为饼状图的容器。 ```html <div id="pieChart" style="width: 100%; height: 400px;"></div> ``` 3. 使用layui的扩展模块lay.extend()定义一个自定义模块。 ```javascript layui.extend({ echarts: '{/}path/to/echarts/echarts' }); ``` 4. 在layui.use()方法中引入自定义模块,以及使用echarts的组件库进行饼状图的初始化和绘制。 ```javascript layui.use(['echarts'], function() { var echarts = layui.echarts; // 绘制饼状图 var pieChart = echarts.init(document.getElementById('pieChart')); var option = { // 饼状图的配置项和数据 series: [ { name: '访问来源', type: 'pie', radius: '55%', data: [ {value: 335, name: '直接访问'}, {value: 310, name: '邮件营销'}, {value: 234, name: '联盟广告'}, {value: 135, name: '视频广告'}, {value: 1548, name: '搜索引擎'} ] } ] }; pieChart.setOption(option); // 导出图片 $('#exportBtn').click(function(){ pieChart.export('png', function(dataUrl) { var link = document.createElement('a'); link.href = dataUrl; link.download = '饼状图.png'; link.click(); }); }); }); ``` 以上代码实现了一个基本的导出饼状图功能。在页面中,饼状图的容器使用一个具有指定id的div元素,然后使用layui的lay.extend()方法引入了echarts的组件库,并在layui.use()方法中使用echarts.init()初始化了饼状图的实例,并使用setOption()方法设置了饼状图的配置项和数据。最后,通过点击一个按钮,调用export()方法将饼状图导出为PNG格式的图片并保存到本地。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xingxingwuxin

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值