美文网首页echats
echarts图表两种下载图片的方法

echarts图表两种下载图片的方法

作者: Frank_Fang | 来源:发表于2022-10-26 16:05 被阅读0次

    echarts图表两种下载图片的方法:
    1.使用 toolbox里saveAsImage方法;
    2.使用getDataURL方法获取base64图片,然后下载图片。

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title>ECharts</title>
        <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    </head>
    <body>
        <div id="app">
            <el-button type="primary" size="small" style="margin-bottom: 30px;" @click="downloadChart">下载echarts图片
            </el-button>
            <div id="main" style="width: 600px;height:400px;"></div>
        </div>
        <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.13/vue.js"></script>
        <script src="https://unpkg.com/element-ui/lib/index.js"></script>
        <script src="https://cdn.bootcss.com/echarts/4.7.0/echarts-en.js"></script>
        <script>
            new Vue({
                el: "#app",
                data() {
                    return {
                        myChart: null
                    }
                },
                methods: {
                    downloadUrlFile(url, fileName) {
                        const a = document.createElement('a')
                        document.body.appendChild(a)
                        a.style = 'display: none'
                        a.href = url
                        if (fileName) {
                            a.download = fileName
                        }
                        a.click()
                        window.URL.revokeObjectURL(url)
                    },
                    downloadChart() {
                        // 获取base64图片
                        const chartImgUrl = this.myChart.getDataURL({
                            pixelRatio: 2,
                            backgroundColor: '#fff'
                        })
                        console.log(chartImgUrl)
                        // 下载base64图片
                        this.downloadUrlFile(chartImgUrl, 'ECharts 2倍图')
                    }
                },
                mounted() {
                    // 基于准备好的dom,初始化echarts实例
                    this.myChart = echarts.init(document.getElementById('main'));
                    // 指定图表的配置项和数据
                    var option = {
                        color: ['#0099ff', '#bbbbbb'],
                        title: {
                            text: 'ECharts 示例'
                        },
                        tooltip: {},
                        legend: {
                            data: ['已到', '未到']
                        },
                        grid: {
                            left: '3%',
                            right: '4%',
                            bottom: '3%',
                            containLabel: true
                        },
                        toolbox: {
                            feature: {
                                saveAsImage: {}
                            }
                        },
                        xAxis: {
                            type: 'category',
                            data: ["渠道one", "渠道two", "渠道three", "渠道four", "渠道five", "渠道six"]
                        },
                        yAxis: [{
                            type: 'value'
                        }],
                        series: [{
                            name: '已到',
                            type: 'bar',
                            stack: '渠道',
                            data: [10, 20, 32, 10, 14, 28]
                        },
                        {
                            name: '未到',
                            type: 'bar',
                            stack: '渠道',
                            data: [5, 10, 26, 8, 10, 20]
                        }
                        ]
                    };
                    // 使用刚指定的配置项和数据显示图表。
                    this.myChart.setOption(option);
                }
            })
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:echarts图表两种下载图片的方法

        本文链接:https://www.haomeiwen.com/subject/znnazrtx.html