echarts 玩吧1

基础案例

<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
 
        // 指定图表的配置项和数据
        var option = {
             xAxis: {
	         type: 'category',
	         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
	     },
	     yAxis: {
	         type: 'value'
	     },
	     series: [{
	         data: [120, 200, 150, 80, 70, 110, 130],
	         type: 'bar'
	     }]
        };
 
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>

案例:链接: link

配置项

// 图表标题
         title: {
	        x: 'left',                 // 水平安放位置,默认为左对齐,可选为:
	                                   // 'center' ¦ 'left' ¦ 'right'
	                                   // ¦ {number}(x坐标,单位px)
	        y: 'top',                  // 垂直安放位置,默认为全图顶端,可选为:
	                                   // 'top' ¦ 'bottom' ¦ 'center'
	                                   // ¦ {number}(y坐标,单位px)
	        //textAlign: null          // 水平对齐方式,默认根据x设置自动调整
	        backgroundColor: 'rgba(0,0,0,0)',
	        borderColor: '#ccc',       // 标题边框颜色
	        borderWidth: 0,            // 标题边框线宽,单位px,默认为0(无边框)
	        padding: 5,                // 标题内边距,单位px,默认各方向内边距为5,
	                                   // 接受数组分别设定上右下左边距,同css
	        itemGap: 10,               // 主副标题纵向间隔,单位px,默认为10,
	        textStyle: {
	            fontSize: 18,
	            fontWeight: 'bolder',
	            color: '#333'          // 主标题文字颜色
	        },
	        subtextStyle: {
	            color: '#aaa'          // 副标题文字颜色
	        }
	    },
	    // 图例
    legend: {
        orient: 'horizontal',      // 布局方式,默认为水平布局,可选为:
                                   // 'horizontal' ¦ 'vertical'
        x: 'center',               // 水平安放位置,默认为全图居中,可选为:
                                   // 'center' ¦ 'left' ¦ 'right'
                                   // ¦ {number}(x坐标,单位px)
        y: 'top',                  // 垂直安放位置,默认为全图顶端,可选为:
                                   // 'top' ¦ 'bottom' ¦ 'center'
                                   // ¦ {number}(y坐标,单位px)
        backgroundColor: 'rgba(0,0,0,0)',
        borderColor: '#ccc',       // 图例边框颜色
        borderWidth: 0,            // 图例边框线宽,单位px,默认为0(无边框)
        padding: 5,                // 图例内边距,单位px,默认各方向内边距为5,
                                   // 接受数组分别设定上右下左边距,同css
        itemGap: 10,               // 各个item之间的间隔,单位px,默认为10,
                                   // 横向布局时为水平间隔,纵向布局时为纵向间隔
        itemWidth: 20,             // 图例图形宽度
        itemHeight: 14,            // 图例图形高度
        textStyle: {
            color: '#333'          // 图例文字颜色
        }
    },

    // 值域
    dataRange: {
        orient: 'vertical',        // 布局方式,默认为垂直布局,可选为:
                                   // 'horizontal' ¦ 'vertical'
        x: 'left',                 // 水平安放位置,默认为全图左对齐,可选为:
                                   // 'center' ¦ 'left' ¦ 'right'
                                   // ¦ {number}(x坐标,单位px)
        y: 'bottom',               // 垂直安放位置,默认为全图底部,可选为:
                                   // 'top' ¦ 'bottom' ¦ 'center'
                                   // ¦ {number}(y坐标,单位px)
        backgroundColor: 'rgba(0,0,0,0)',
        borderColor: '#ccc',       // 值域边框颜色
        borderWidth: 0,            // 值域边框线宽,单位px,默认为0(无边框)
        padding: 5,                // 值域内边距,单位px,默认各方向内边距为5,
                                   // 接受数组分别设定上右下左边距,同css
        itemGap: 10,               // 各个item之间的间隔,单位px,默认为10,
                                   // 横向布局时为水平间隔,纵向布局时为纵向间隔
        itemWidth: 20,             // 值域图形宽度,线性渐变水平布局宽度为该值 * 10
        itemHeight: 14,            // 值域图形高度,线性渐变垂直布局高度为该值 * 10
        splitNumber: 5,            // 分割段数,默认为5,为0时为线性渐变
        color:['#1e90ff','#f0ffff'],//颜色 
        //text:['高','低'],         // 文本,默认为数值文本
        textStyle: {
            color: '#333'          // 值域文字颜色
        }
    },

    toolbox: {
        orient: 'horizontal',      // 布局方式,默认为水平布局,可选为:
                                   // 'horizontal' ¦ 'vertical'
        x: 'right',                // 水平安放位置,默认为全图右对齐,可选为:
                                   // 'center' ¦ 'left' ¦ 'right'
                                   // ¦ {number}(x坐标,单位px)
        y: 'top',                  // 垂直安放位置,默认为全图顶端,可选为:
                                   // 'top' ¦ 'bottom' ¦ 'center'
                                   // ¦ {number}(y坐标,单位px)
        color : ['#1e90ff','#22bb22','#4b0082','#d2691e'],
        backgroundColor: 'rgba(0,0,0,0)', // 工具箱背景颜色
        borderColor: '#ccc',       // 工具箱边框颜色
        borderWidth: 0,            // 工具箱边框线宽,单位px,默认为0(无边框)
        padding: 5,                // 工具箱内边距,单位px,默认各方向内边距为5,
                                   // 接受数组分别设定上右下左边距,同css
        itemGap: 10,               // 各个item之间的间隔,单位px,默认为10,
                                   // 横向布局时为水平间隔,纵向布局时为纵向间隔
        itemSize: 16,              // 工具箱图形宽度
        featureImageIcon : {},     // 自定义图片icon
        featureTitle : {
            mark : '辅助线开关',
            markUndo : '删除辅助线',
            markClear : '清空辅助线',
            dataZoom : '区域缩放',
            dataZoomReset : '区域缩放后退',
            dataView : '数据视图',
            lineChart : '折线图切换',
            barChart : '柱形图切换',
            restore : '还原',
            saveAsImage : '保存为图片'
        }
    },

    // 提示框
    tooltip: {
        trigger: 'item',           // 触发类型,默认数据触发,见下图,可选为:'item' ¦ 'axis'
        showDelay: 20,             // 显示延迟,添加显示延迟可以避免频繁切换,单位ms
        hideDelay: 100,            // 隐藏延迟,单位ms
        transitionDuration : 0.4,  // 动画变换时间,单位s
        backgroundColor: 'rgba(0,0,0,0.7)',     // 提示背景颜色,默认为透明度为0.7的黑色
        borderColor: '#333',       // 提示边框颜色
        borderRadius: 4,           // 提示边框圆角,单位px,默认为4
        borderWidth: 0,            // 提示边框线宽,单位px,默认为0(无边框)
        padding: 5,                // 提示内边距,单位px,默认各方向内边距为5,
                                   // 接受数组分别设定上右下左边距,同css
        axisPointer : {            // 坐标轴指示器,坐标轴触发有效
            type : 'line',         // 默认为直线,可选为:'line' | 'shadow'
            lineStyle : {          // 直线指示器样式设置
                color: '#48b',
                width: 2,
                type: 'solid'
            },
            shadowStyle : {                       // 阴影指示器样式设置
                width: 'auto',                   // 阴影大小
                color: 'rgba(150,150,150,0.3)'  // 阴影颜色
            }
        },
        textStyle: {
            color: '#fff'
        }
    },

    // 区域缩放控制器
    dataZoom: {
        orient: 'horizontal',      // 布局方式,默认为水平布局,可选为:
                                   // 'horizontal' ¦ 'vertical'
        // x: {number},            // 水平安放位置,默认为根据grid参数适配,可选为:
                                   // {number}(x坐标,单位px)
        // y: {number},            // 垂直安放位置,默认为根据grid参数适配,可选为:
                                   // {number}(y坐标,单位px)
        // width: {number},        // 指定宽度,横向布局时默认为根据grid参数适配
        // height: {number},       // 指定高度,纵向布局时默认为根据grid参数适配
        backgroundColor: 'rgba(0,0,0,0)',       // 背景颜色
        dataBackgroundColor: '#eee',            // 数据背景颜色
        fillerColor: 'rgba(144,197,237,0.2)',   // 填充颜色
        handleColor: 'rgba(70,130,180,0.8)'     // 手柄颜色
    },

    // 网格
    grid: {
        x: 80,
        y: 60,
        x2: 80,
        y2: 60,
        // width: {totalWidth} - x - x2,
        // height: {totalHeight} - y - y2,
        backgroundColor: 'rgba(0,0,0,0)',
        borderWidth: 1,
        borderColor: '#ccc'
    },

    // 类目轴
    categoryAxis: {
        position: 'bottom',    // 位置
        nameLocation: 'end',   // 坐标轴名字位置,支持'start' | 'end'
        boundaryGap: true,     // 类目起始和结束两端空白策略
        axisLine: {            // 坐标轴线
            show: true,        // 默认显示,属性show控制显示与否
            lineStyle: {       // 属性lineStyle控制线条样式
                color: '#48b',
                width: 2,
                type: 'solid'
            }
        },
        axisTick: {            // 坐标轴小标记
            show: true,       // 属性show控制显示与否,默认不显示
            interval: 'auto',
            // onGap: null,
            inside : false,    // 控制小标记是否在grid里 
            length :5,         // 属性length控制线长
            lineStyle: {       // 属性lineStyle控制线条样式
                color: '#333',
                width: 1
            }
        },
        axisLabel: {           // 坐标轴文本标签,详见axis.axisLabel
            show: true,
            interval: 'auto',
            rotate: 0,
            margin: 8,
            // formatter: null,
            textStyle: {       // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                color: '#333'
            }
        },
        splitLine: {           // 分隔线
            show: true,        // 默认显示,属性show控制显示与否
            // onGap: null,
            lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
                color: ['#ccc'],
                width: 1,
                type: 'solid'
            }
        },
        splitArea: {           // 分隔区域
            show: false,       // 默认不显示,属性show控制显示与否
            // onGap: null,
            areaStyle: {       // 属性areaStyle(详见areaStyle)控制区域样式
                color: ['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']
            }
        }
    },

    // 数值型坐标轴默认参数
    valueAxis: {
        position: 'left',      // 位置
        nameLocation: 'end',   // 坐标轴名字位置,支持'start' | 'end'
        nameTextStyle: {},     // 坐标轴文字样式,默认取全局样式
        boundaryGap: [0, 0],   // 数值起始和结束两端空白策略
        splitNumber: 5,        // 分割段数,默认为5
        axisLine: {            // 坐标轴线
            show: true,        // 默认显示,属性show控制显示与否
            lineStyle: {       // 属性lineStyle控制线条样式
                color: '#48b',
                width: 2,
                type: 'solid'
            }
        },
        axisTick: {            // 坐标轴小标记
            show: false,       // 属性show控制显示与否,默认不显示
            inside : false,    // 控制小标记是否在grid里 
            length :5,         // 属性length控制线长
            lineStyle: {       // 属性lineStyle控制线条样式
                color: '#333',
                width: 1
            }
        },
        axisLabel: {           // 坐标轴文本标签,详见axis.axisLabel
            show: true,
            rotate: 0,
            margin: 8,
            // formatter: null,
            textStyle: {       // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                color: '#333'
            }
        },
        splitLine: {           // 分隔线
            show: true,        // 默认显示,属性show控制显示与否
            lineStyle: {       // 属性lineStyle(详见lineStyle)控制线条样式
                color: ['#ccc'],
                width: 1,
                type: 'solid'
            }
        },
        splitArea: {           // 分隔区域
            show: false,       // 默认不显示,属性show控制显示与否
            areaStyle: {       // 属性areaStyle(详见areaStyle)控制区域样式
                color: ['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']
            }
        }
    },

    polar : {
        center : ['50%', '50%'],    // 默认全局居中
        radius : '75%',
        startAngle : 90,
        splitNumber : 5,
        name : {
            show: true,
            textStyle: {       // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                color: '#333'
            }
        },
        axisLine: {            // 坐标轴线
            show: true,        // 默认显示,属性show控制显示与否
            lineStyle: {       // 属性lineStyle控制线条样式
                color: '#ccc',
                width: 1,
                type: 'solid'
            }
        },
        axisLabel: {           // 坐标轴文本标签,详见axis.axisLabel
            show: false,
            textStyle: {       // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                color: '#333'
            }
        },
        splitArea : {
            show : true,
            areaStyle : {
                color: ['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']
            }
        },
        splitLine : {
            show : true,
            lineStyle : {
                width : 1,
                color : '#ccc'
            }
        }
    },

折线图

<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
 
        // 指定图表的配置项和数据
        var option = {
         
         xAxis: {
	         type: 'category',
	         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
	     },
	     yAxis: {
	         type: 'value'
	     },
	     series: [{
	         data: [120, 200, 150, 80, 70, 110, 130],
	         type: 'line',
	         itemStyle: {
	            normal: {
	                // color: 各异,
	                label: {
	                    show: false
	                    // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为
	                    //           'inside'|'left'|'right'|'top'|'bottom'
	                    // textStyle: null      // 默认使用全局文本样式,详见TEXTSTYLE
	                },
	                lineStyle: {
	                    width: 2,
	                    type: 'solid',
	                    shadowColor : 'rgba(0,0,0,0)', //默认透明
	                    shadowBlur: 5,
	                    shadowOffsetX: 3,
	                    shadowOffsetY: 3
	                }
	            },
	            emphasis: {
	                // color: 各异,
	                label: {
	                    show: false
	                    // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为
	                    //           'inside'|'left'|'right'|'top'|'bottom'
	                    // textStyle: null      // 默认使用全局文本样式,详见TEXTSTYLE
	                }
	            }
	        },
	        //smooth : false,
	        //symbol: null,         // 拐点图形类型
	        symbolSize: 2,          // 拐点图形大小
	        //symbolRotate : null,  // 拐点图形旋转控制
	        showAllSymbol: false    // 标志图形默认只有主轴显示(随主轴标签间隔隐藏策略)
		     }]
	        };
 
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>

柱状图

<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
 
        // 指定图表的配置项和数据
        var option = {
             xAxis: {
	         type: 'category',
	         data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
	     },
	     yAxis: {
	         type: 'value'
	     },
	     series: [{
	         data: [120, 200, 150, 80, 70, 110, 130],
	         type: 'bar',
		     barMinHeight: 0,          // 最小高度改为0
	         // barWidth: null,        // 默认自适应
	         barGap: '30%',            // 柱间距离,默认为柱形宽度的30%,可设固定值
	         barCategoryGap : '20%',   // 类目间柱形距离,默认为类目间距的20%,可设固定值
	         itemStyle: {
	             normal: {
	                 // color: '各异',
	                 barBorderColor: '#fff',       // 柱条边线
	                 barBorderRadius: 0,           // 柱条边线圆角,单位px,默认为0
	                 barBorderWidth: 1,            // 柱条边线线宽,单位px,默认为1
	                 label: {
	                     show: false
	                     // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为
	                     //           'inside'|'left'|'right'|'top'|'bottom'
	                     // textStyle: null      // 默认使用全局文本样式,详见TEXTSTYLE
	                 }
	             },
	             emphasis: {
	                 // color: '各异',
	                 barBorderColor: 'rgba(0,0,0,0)',   // 柱条边线
	                 barBorderRadius: 0,                // 柱条边线圆角,单位px,默认为0
	                 barBorderWidth: 1,                 // 柱条边线线宽,单位px,默认为1
	                 label: {
	                     show: false
	                     // position: 默认自适应,水平布局为'top',垂直布局为'right',可选为
	                     //           'inside'|'left'|'right'|'top'|'bottom'
	                     // textStyle: null      // 默认使用全局文本样式,详见TEXTSTYLE
	                 }
	             }
	         }
		      }]
        };
 
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>

饼图

<script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));
 
        // 指定图表的配置项和数据
        var option = {
            title: {
                text: '第一个 ECharts 实例'
            },
            tooltip: {},
            legend: {
                data:['销量']
            },
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'pie',
                data: [5, 20, 36, 10, 10, 20],
                center : ['50%', '50%'],    // 默认全局居中
		        radius : [0, '75%'],
		        clockWise : false,          // 默认逆时针
		        startAngle: 90,
		        minAngle: 0,                // 最小角度改为0
		        selectedOffset: 10,         // 选中是扇区偏移量
		        itemStyle: {
		            normal: {
		                // color: 各异,
		                borderColor: '#fff',
		                borderWidth: 1,
		                label: {
		                    show: true,
		                    position: 'outer'
		                    // textStyle: null      // 默认使用全局文本样式,详见TEXTSTYLE
		                },
		                labelLine: {
		                    show: true,
		                    length: 20,
		                    lineStyle: {
		                        // color: 各异,
		                        width: 1,
		                        type: 'solid'
		                    }
		                }
		            },
		            emphasis: {
		                // color: 各异,
		                borderColor: 'rgba(0,0,0,0)',
		                borderWidth: 1,
		                label: {
		                    show: false
		                    // position: 'outer'
		                    // textStyle: null      // 默认使用全局文本样式,详见TEXTSTYLE
		                },
		                labelLine: {
		                    show: false,
		                    length: 20,
		                    lineStyle: {
		                        // color: 各异,
		                        width: 1,
		                        type: 'solid'
		                    }
		                }
		            }
		        }
            }]
        };
 
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>

盒须图


var xdata = ['2020-07', '2020-08', '2020-09', '2020-10', '2020-11', '2020-12']

$(function () {
    //echarts1
    var chart1 = echarts.init(document.getElementById('echarts1'), 'qmechart');

    var data = echarts.dataTool.prepareBoxplotData([
        [850, 740, 900, 1070, 930, 850, 950, 980, 980, 880, 1000, 980, 930, 650, 760, 810, 1000, 1000, 960, 960],
        [960, 940, 960, 940, 880, 800, 850, 880, 900, 840, 830, 790, 810, 880, 880, 830, 800, 790, 760, 800],
        [880, 880, 880, 860, 720, 720, 620, 860, 970, 950, 880, 910, 850, 870, 840, 840, 850, 840, 840, 840],
        [890, 810, 810, 820, 800, 770, 760, 740, 750, 760, 910, 920, 890, 860, 880, 720, 840, 850, 850, 780],
        [890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870, 870, 810, 740, 810, 940, 950, 800, 810, 870]
    ]);

    chart1.setOption({
        // title: [
        //     {
        //         text: 'Michelson-Morley Experiment',
        //         left: 'center',
        //     },
        // ],
        tooltip: {
            trigger: 'item',
            axisPointer: {
                type: 'shadow',
                lineStyle: {
                    width: 3//设置线条粗细
                }
            }
        },
        grid: {
            left: '10%',
            right: '10%',
            bottom: '15%'
        },
        xAxis: {
            type: 'category',
            data: xdata,
            boundaryGap: true,
            nameGap: 30,
            splitArea: {
                show: false
            },
            axisLabel: {
                formatter: '{value}'
            },
            splitLine: {
                show: false
            }
        },
        yAxis: {
            type: 'value',
            name: '活跃用户数(万人)',
            splitArea: {
                show: true
            }
        },
        series: [
            {
                name: 'boxplot',
                type: 'boxplot',
                data: data.boxData,
                tooltip: {
                    formatter: function (param) {
                        return [
                            'Experiment ' + param.name + ': ',
                            'upper: ' + param.data[5],
                            'Q3: ' + param.data[4],
                            'median: ' + param.data[3],
                            'Q1: ' + param.data[2],
                            'lower: ' + param.data[1]
                        ].join('<br/>');
                    },
                },
                itemStyle: {
                    borderWidth: 2,//盒线的粗细
                    shadowBlur: 5,//阴影
                    shadowColor: "rgba(0, 0, 0, 0.2)",//阴影颜色
                    shadowOffsetX: 5,//阴影朝向
                }

            },
            {
                name: 'outlier',
                type: 'scatter',
                data: data.outliers,
            }
        ]
    })





    window.onresize = chart1.resize;//自适应图表

    // 或者可以直接传入需要联动的实例数组
    setTimeout(function () {
        window.onresize = function () {
            chart1.resize();
        }
    }, 200)


})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值