美文网首页
echarts图表插件

echarts图表插件

作者: 路破格 | 来源:发表于2020-06-23 20:33 被阅读0次

    1 模块说明

    image.png

    2 配置

    var option = {
        # 主题
        title: {
            # 文字内容
            text: 'ECharts 入门示例',
            # 是否显示
            show: true,
            # 添加链接地址
            link: 'http://www.baidu.com',
            # 链接打开方式,支持self和blank,默认blank
            targer: 'self',
            # 上下左右边距为5
            padding: 5,
            # 上左边距为5,右下边距为0
            padding: [5,0,0,5]
            # 左边距
            left: 1,
            # 上边距
            top: 1,
            # 右边距
            right: 1,
            # 下边距
            bottom: 1,
            # 背景颜色,默认为transparent,即透明色
            backgroundColor: '#fff',
            # 图形层级
            z: 10,
            # 边框颜色
            borderColor: '#CCC',
            # 边框宽度
            borderWidth: 5,
            # 边框圆角半径
            borderRadius: 10,
            # 图形阴影大小
            shadowBlur: 5,
            # 图形阴影颜色
            shadowColor: '#CCC',
            # 图形阴影X轴长度
            shadowOffsetX: 5,
            # 图形阴影Y轴长度
            shadowOffsetY: 3,
            # 字体设置
            textStyle: {
                # 字体颜色
                color: '#fff',
                # 字体大小
                fontSize: 14,
                # 字体风格,支持normal/italic/oblique
                fontStyle: 'normal',
                # 字体粗细,支持normal/bold/bolder/lighter/100/200/400
                fontWeight: 'normal',
                # 字体系列
                fontFamily: '黑体',
                # 字体对齐格式,支持left/center/right
                align: 'center',
                # 行高
                lineHeight: 12,
            }
        },
        # 坐标轴里面图例文字
        tooltip: {
            # show默认为true
            show: true,
            # 组件触发类型,支持item/axis/none,默认item,item使用场景为饼状图,axis使用场景为柱状图。
            trigger: 'axis',
            # 显示值,默认为true
            showContent: true,
            # 当坐标轴不在聚焦时是否继续显示,默认为false,即不显示
            alwaysShowContent: false,
            # 延迟隐藏值的显示
            hideDelay: 1000,
            textStyle: {
                align: 'left',
            }
        }, 
        # 坐标轴图例主题
        legend: { 
            # 图例类型,支持plain和scroll,默认为plain,scroll为可滚动翻页的图例
            type: 'scroll',
            show: true,
            # 图例布局,支持horizontal和vertical,默认为horizontal水平布局
            orient: 'horizontal',
            # 图例宽度
            width: 300,
            # 图例长度
            height: 100,
            # 图例是否支持可选,支持true/false,以及single/multiple
            selectedMode: true,
            # 图例隐藏时颜色
            inactiveColor: '#CCC',
            # 图例各项间距
            itemGap: 5,
            # 图例每项宽度
            itemWidth: 10,
            # 图例每项高度
            itemHeight: 10
            data:['销量', '生产', '加工'],
            # 图例是否选中
            selected: {'销量': true, '生产': true, '加工': false}
        }, 
        # 坐标轴图例网格
        grid: {
            # show默认为false
            show: true,
            left: '3%',
            right: '4%',
            bottom: '3%',
            # 图形是否包含坐标轴,默认为false,false可能会显示不全
            containLabel: true
        },
        # x坐标轴指示器
        axisPointer {
            # show默认为fasle,当tooltip.trigger值为axis时默认设为true
            show: true,
            # x轴线类型,支持line/cross/shadow
            type: 'cross',
        },
        # x坐标轴
        xAxis: {
            # show默认为true
            show: true,
            # 数据类型,支持value/category/time/log,默认为category
            type : 'category',
            # 坐标轴名称
            name: '服饰类型',
            # 名称显示位置,支持start/middle/end
            nameLocation: 'start'
            # 名称字体
            nameTextStyle: {
                color: '#fff',
            }
            # 名称与坐标轴距离
            nameGap: 35,
            # 名称倾斜角度
            nameRotate: 30,
            # x轴最小值
            min: 0,
            # x轴最大值
            max: 100,
            # 坐标轴数据
            data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
        }, 
        # y坐标轴
        yAxis: {
            # 是否强制包含0刻度,默认为true不强制
            scale: false,
            # 坐标轴分割数量,不包括起始值
            splitNumber: 5,
        }, 
        # 工具栏
        toolbox: {
            # 显示工具栏,默认为true
            show: true,
            # 工具栏布局,支持horizontal/vertical,默认horizontal
            orient: 'horizontal',
            # 工具栏图标各项大小
            itemSize: 15,
            # 工具栏图标各项间隔
            itemGap: 10,
            # 在鼠标移动到工具栏时显示工具栏的主题,默认true
            showTitle: true,
            # 工具栏
            feature: {
                # 启用保存图片工具
                saveAsImage: {
                    # show默认为true
                    show: true,
                    # 保存的图片类型,支持png/jpeg,默认为png
                    type: png,
                    # 保存的文件名,默认以title的text为文件名
                    name: "a",
                    # 工具提示内容,默认值为保存为图片
                    title: '保存为图片'
                },
                # 启用修改数据工具
                dataView: {
                    # show默认为true
                    show: true,
                },
                # 启用区域缩放工具
                dataZoom: {
                    # show默认为true
                    show: true,
                }
            }
        }
        series: [
            {
                # 画线名称
                name: '销量', 
                # 画线类型,支持line(线条),bar(柱形),pie(饼状),scatter(散点),effectScatter(涟漪),radar(雷达),boxplot(箱型),candlestick(K线),heatmap(热力图),map(地图),gauge(仪表盘),funnel(漏斗),lines(绘制线)
                type: 'bar', 
                # 坐标系列,支持cartesian2d(直角坐标系),polar(极坐标系)
                coordinateSystem: 'cartesian2d',
                # 标记符号,支持emptyCircle(空心,默认),'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
                symbolSize: 'emptyCircle',
                # 标记符号大小,默认为4
                symbolSize: 8,
                # 标记符号倾斜度
                symbolRotate: 30,
                # 标记符号偏移x和y轴的值
                symbolOffset: [0, 10],
                # 是否显示标记符号,默认为true,如果为false只有在聚焦时显示
                showSymbol: true,
                # stack相同的图形值会叠加
                stack: 'a',
                # 是否梯形显示图形,默认为false
                step: false,
                # 是否显示图形动画,默认为true
                animation: true,
                # 图形动画持续时长,默认为1000,即1秒
                animationDuration: 2000,
                # 图形数据
                data: [5, 20, 36, 10, 10, 20],
                # 图形文本样式
                label: {
                    show: true
                },
                # 图形填充样式
                areaStyle: {
                    color: '#000',
                },
                # 图例样式
                itemStyle: {
                },
                # 图形线条样式
                lineStyle: {
                },
            }
        ] 
    };
    

    3 图例全选/反选

    
    function echarts_select(obj, val) {
            var new_obj = echarts.init(document.getElementById(obj));
            var new_option = new_obj.getOption();
            var legend_data = new_option.legend[0].data
            var selected_data = {};
    
            for (var key in legend_data) {
                if (typeof(legend_data[key]) == "string") {
                    selected_data[legend_data[key]] = val;
                }
                else {
                    selected_data[legend_data[key].name] = val;
                }
            }
            
            new_option.legend[0].selected = selected_data;
            new_obj.setOption(new_option, true);
    }
    
    option = {
        toolbox: {
            itemSize: 32,
            itemGap: 15,
            feature: {
                myIco1: {
                    show: true,
                    title: '全选',
                    icon: 'image:///static/images/selectall.png',
                    onclick: function() {
                        echarts_select('mainDiv', true);
                    },
                },
                myIco2: {
                    show: true,
                    title: '反选',
                    icon: 'image:///static/images/selectnone.png',
                    onclick: function() {
                        echarts_select('mainDiv', false);
                    },
                },
            },
        },
    }
    

    4 series图形代码示例

    4.1 line线条

    {       
        name: 'a',
        type: 'line',
        coordinateSystem: 'cartesian2d',
        showSymbol: true,
        symbol: 'emptyCircle',
        symbolSize: 8,
        animation: true,
        animationDuration: 1000,
        areaStyle: {},
        data: [0.0, 4386.12, 0.0, 0.0, 0.0, 0.0, 163.2, 282.4, 5658.99, 7574.56, 8838.7, 3287.0],
    };
    

    4.2 bar饼状

    {
        name: '2020-01月费用',
        type: 'pie',
        radius: ['30%', '61%'],
        center: ['45%', '45%'],
        data: [{'name': 'a', 'value': 1}, {'name': 'b', 'value': 2}, {'name': 'c', 'value': 3}],
        hoverOffset: 15,
        selectedMode: 'single',
        selectedOffset: 25,
        label: {
            normal: {
                show: true,
                formatter: "{b} : {c}元 ({d}%)",
                textStyle: {
                    fontSize: 14,
                },
                position: 'outside'
            },
            emphasis: {
                show: true
            }
        },
        itemStyle: {
            emphasis: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
            }
        }
    }
    

    5 参考文档

    https://www.w3cschool.cn/echarts_tutorial/

    相关文章

      网友评论

          本文标题:echarts图表插件

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