Echart使用


Echart是一款图表插件,功能强大,使用简单。Echart官网:https://echarts.baidu.com/examples/#chart-type-line

本文介绍我使用过的折线图以及饼图。

1.折线图:

图表上可以浮动数据:

先贴上官网代码:

option = {
    title: {
        text: '折线图堆叠'
    },
    tooltip: {
        trigger: 'axis'
    },
    legend: {
        data:['邮件营销','联盟广告','视频广告','直接访问','搜索引擎']
    },
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['周一','周二','周三','周四','周五','周六','周日']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name:'邮件营销',
            type:'line',
            stack: '总量',
            data:[120, 132, 101, 134, 90, 230, 210]
        },
        {
            name:'联盟广告',
            type:'line',
            stack: '总量',
            data:[220, 182, 191, 234, 290, 330, 310]
        },
        {
            name:'视频广告',
            type:'line',
            stack: '总量',
            data:[150, 232, 201, 154, 190, 330, 410]
        },
        {
            name:'直接访问',
            type:'line',
            stack: '总量',
            data:[320, 332, 301, 334, 390, 330, 320]
        },
        {
            name:'搜索引擎',
            type:'line',
            stack: '总量',
            data:[820, 932, 901, 934, 1290, 1330, 1320]
        }
    ]
};

 

图标头部:

  title: {
                    text: '标题名称',           //如“折线图堆叠”
                    textStyle: {               //标题样式设置
                        color: '#000000',
                        fontSize: '18',       
                        fontWeight: 'normal',
                    },
                    x: '10px',
                    y: '10px'
                },
                tooltip: {
                    trigger: 'axis'
                },
                //图例颜色以及图例名称
                color: ['#4B85CB', '#D98175', '#75CBA5', '#0EBCE8', '#778899'],  
                legend: {

                    data: ['邮件营销','联盟广告','视频广告','直接访问','搜索引擎'],
                //图例样式以及位置
                    textStyle: {
                        color: '#000000'
                    },
                    x: 'center',
                    y: '15px'

                },

 

X轴:

 xAxis: {
                    type: 'category',
                    boundaryGap: false,
                    //这里是横轴显示内容,我这里用的是传递的数组数据,而非固定的星期几
                    data: [obj[0].Date, obj[1].Date, obj[2].Date, obj[3].Date, obj[4].Date, obj[5].Date, obj[6].Date],
                    axisLine: {
                        lineStyle: {
                            color: '#000000',
                            width: 1        //可以更改折现粗细
                        }
                    },
                    axisLabel: {
                        show: true,
                        textStyle: {
                            color: '#000000'
                        }
                    }
                },

 

Y轴:

  yAxis: {
                    type: 'value',
                    axisLine: {
                        lineStyle: {
                            color: '#000000',
                            width: 1
                        }
                    },
                    axisLabel: {
                        show: true,
                        textStyle: {
                            color: '#000000',
                        }
                    }
                },
          //下面是数据展示
                series: [
                    {
                        name: '邮件营销',
                        type: 'line',
                   //这里的数据都是从后台取出的,数量要和X轴对应,此处也为7个值
                        data: [{
                            value: obj[0].EmailNums,
                            label: {
                                normal: {
                                    formatter: GetDataZero(obj[0].EmailNums)
                                }
                            }
                        }, {
                            value: obj[1].EmailNums,
                            label: {
                                normal: {
                                    formatter: GetDataZero(obj[1].EmailNums)
                                }
                            }
                        }, {
                            value: obj[2].EmailNums,
                            label: {
                                normal: {
                                    formatter: GetDataZero(obj[2].EmailNums)
                                }
                            }
                        }, {
                            value: obj[3].EmailNums,
                            label: {
                                normal: {
                                    formatter: GetDataZero(obj[3].EmailNums)
                                }
                            }
                        }, {
                            value: obj[4].EmailNums,
                            label: {
                                normal: {
                                    formatter: GetDataZero(obj[4].EmailNums)
                                }
                            }
                        }, {
                            value: obj[5].EmailNums,
                            label: {
                                normal: {
                                    formatter: GetDataZero(obj[5].EmailNums)
                                }
                            }
                        }, {
                            value: obj[6].EmailNums,
                            label: {
                                normal: {
                                    formatter: GetDataZero(obj[6].EmailNums)
                                }
                            }
                        }]
                    //其他的省略了……

                    },

                    }
                ]

 

GetDataZero只是我写的一个转换方法,因为在折线图浮动数据中值为0时显示的是“-”,我就写了这个

 <script>
        function GetDataZero(value) {
            if (value > 0) {
                return value;
            } else {
                return 0;
            }
        }
    </script>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM