使用echarts的一点总结

首先要下载最新echarts,旧版可能很多功能不支持

1.饼图中心写文字

var myChart = echarts.init(document.getElementById('row-1-1'));
	var option = {
		color:["#53647E","#05B6F0"],
		title: {
           text: '23.5',
           textStyle: {
               fontSize:18,
               //fontFamily:'sans-serif',
               fontStyle:'normal',
               color:'#05B5EE',
               verticalAlign:"top"
           },                      
           subtext: ['系统总体容量\n'],
           subtextStyle:{
                fontSize:10,
                color: '#05B5EE'
            },
           /*itemGap:'50px',*/
           x: 'center',
           y: 'center',
           top:'35%'
        },
	    tooltip: {
	        trigger: 'item',
	        formatter: "{a} <br/>{b}: {c} ({d}%)"
	    },
	    series: [
	        {
	            //name:'系统容量',
	            type:'pie',
	            radius: ['65%', '80%'],
	            avoidLabelOverlap: false,
	            label: {
	                normal: {
	                    show: false,
	                    position: 'center'
	                },
	                emphasis: {
	                    show: false,
	                    textStyle: {
	                        fontSize: '30',
	                        fontWeight: 'bold'
	                    }
	                }
	            },
	            labelLine: {
	                normal: {
	                    show: false
	                }
	            },
	            data:[
	            	{value:11, name:'系统剩余容量'},
	                {value:12.5, name:'系统使用容量'},
	                
	            ]
	        }
	    ]
	};
	myChart.setOption(option);

设置title中的text和subtext即可,样式可以自定义

2.关于坐标轴和分割线的设置

var myChart = echarts.init(document.getElementById('row-2-2'));
var option = {
    color: ['#60CF54','#5EB95E','#c23531', '#61a0a8', '#d48265', '#91c7ae','#749f83',  '#ca8622', '#bda29a','#6e7074', '#546570', '#c4ccd3'],
    tooltip : {
        trigger: 'axis',
        axisPointer : {            // 坐标轴指示器,坐标轴触发有效
            type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
        }
    },
    grid: {
    	top:'15%',
        left: '3%',
        right: '4%',
        bottom: '5%',
        containLabel: true,
        borderColor:"#F5F5F5"
    },
    xAxis :{  //x坐标
        type : 'category',
        data : [],
        axisTick: {  //刻度
        	show:false,  //不显示刻度
        },
        show:false, //横坐标直接不显示
    },
    yAxis : [
        {
            type : 'value',
            nameTextStyle: {
            	color:'#fff'
            },
            axisLine:{   //坐标轴轴线
            	show:false, //不显示坐标线
            	lineStyle:{
            		color:'#fff'
            	}
            },
            splitNumber:1,  //左边分割数,1位分割一次
            axisTick: {  //刻度
	        	show:false,  //不显示刻度
	        },
            axisLabel:{  //刻度标签
            	color:"white",
            	show:true,
            	fontSize:10
            },
            splitLine: {
            	show:false  //分割线
            }
        }
    ],
    series : [{
		type:"bar",
		barCategoryGap:'50%',
		data:[100,80,60,50,20,60,70,90,20,100,50]
    }]
};
myChart.setOption(option);

主要就是设置xAxis和yAxis中的axisLine,axisLabel,axisTick,splitLine,splitNumber等,具体参数看手册即可

3.关于柱状图改变柱子间隔问题

series : [{
	type:"bar",
	barCategoryGap:'50%',
	data:[100,80,60,50,20,60,70,90,20,100,50]
}]

如果只有一组数据,想调整柱子间隔,在series中使用barCategoryGap调整即可

如果有多组数据,则需要使用barGap来调整类目之间的间距

4.关于一组数据改变柱状图颜色问题

series : [{
	type:"bar",
	barCategoryGap:'70%',
	data:[100,80,60,50,20],
	itemStyle: {
            normal:{  
            color: function (params){
                var colorList = ['#455B72','#A5AFB5','#D44191', '#45A5D5', '#15BCB5'];
                return colorList[params.dataIndex];
            }
        },
  },
  markLine : {
        data : [
            {type : 'average', name: '平均值'}
        ],
        lineStyle: {
			color: '#ddd',
			width: 1,
			type: 'dashed',
			/*shadowBlur: ...,
			shadowColor: ...,
			shadowOffsetX: 0,
			shadowOffsetY: 0,
			opacity: ...,
			curveness: 0,*/
		}
    }
}]

在series中设置itemStyle,像这个设置颜色即可

5.关于折线图不同数值区间颜色不同问题

var option = {
    title: {
        text: 'ECharts 入门示例'
    },
    tooltip: {},
    legend: {
        data:['销量']
    },
    xAxis: {
        data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
    },
    yAxis: {},
    visualMap: {//区间内控制显示颜色
        show: false,
        dimension: 1,
        pieces: [[{gte: 7, lte: 15, color: '#7547A2'},{gte: 15, lte: 30, color: '#000'}]],//设置折线什么区间显示什么颜色
        seriesIndex:0,       
        outOfRange: {  //设置区间外的颜色
            color: 'red'
        }
    },
    series: [{
        name: '销量',
        type: 'line',
        areaStyle: {normal: {}},//加上这个使折线下方填充颜色

        data: [5, 20, 36, 10, 10, 20]
    }
    ]
};

在visualMap中设置pieces,其中可设置最大最小区间内折线的颜色,series中如果设置了areaStyle,则对应的区间内填充颜色也会相应改变,就像图中那样

附visualMap的配置

visualMap=[                                     //视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素。视觉元素可以是:symbol: 图元的图形类别。symbolSize: 图元的大小。color: 图元的颜色。
                                                 // colorAlpha: 图元的颜色的透明度。opacity: 图元以及其附属物(如文字标签)的透明度。colorLightness: 颜色的明暗度。colorSaturation: 颜色的饱和度。colorHue: 颜色的色调。
    {
        show:true,                              //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在
        type: 'continuous',                     // 定义为连续型 viusalMap
        min:10,                                  //指定 visualMapContinuous 组件的允许的最小值
        max:100,                                 //指定 visualMapContinuous 组件的允许的最大值
        range:[15, 40],                          //指定手柄对应数值的位置。range 应在 min max 范围内
        calculable:true,                        //是否显示拖拽用的手柄(手柄能拖拽调整选中范围)
        realtime:true,                          //拖拽时,是否实时更新
        inverse:false,                          //是否反转 visualMap 组件
        precision:0,                            //数据展示的小数精度,默认为0,无小数点
        itemWidth:20,                           //图形的宽度,即长条的宽度。
        itemHeight:140,                         //图形的高度,即长条的高度。
        align:"auto",                           //指定组件中手柄和文字的摆放位置.可选值为:'auto' 自动决定。'left' 手柄和label在右。'right' 手柄和label在左。'top' 手柄和label在下。'bottom' 手柄和label在上。
        text:['High', 'Low'],                   //两端的文本
        textGap:10,                              //两端文字主体之间的距离,单位为px
        dimension:2,                            //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度
        seriesIndex:1,                          //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列
        hoverLink:true,                         //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮
        inRange:{                               //定义 在选中范围中 的视觉元素
            color: ['#121122', 'rgba(3,4,5,0.4)', 'red'],
            symbolSize: [30, 100]
        },
        outOfRange:{  //定义 在选中范围外 的视觉元素。
            color: ['#121122', 'rgba(3,4,5,0.4)', 'red'],
            symbolSize: [30, 100]
        },
        zlevel:0,                                   //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面
        z:2,                                         //所属组件的z分层,z值小的图形会被z值大的图形覆盖
        left:"center",                              //组件离容器左侧的距离,'left', 'center', 'right','20%'
        top:"top",                                   //组件离容器上侧的距离,'top', 'middle', 'bottom','20%'
        right:"auto",                               //组件离容器右侧的距离,'20%'
        bottom:"auto",                              //组件离容器下侧的距离,'20%'
        orient:"vertical",                         //图例排列方向
        padding:5,                                   //图例内边距,单位px  5  [5, 10]  [5,10,5,10]
        backgroundColor:"transparent",            //标题背景色
        borderColor:"#ccc",                         //边框颜色
        borderWidth:0,                               //边框线宽
        textStyle:mytextStyle,                      //文本样式
        formatter: function (value) {                 //标签的格式化工具。
            return 'aaaa' + value;                    // 范围标签显示内容。
        }
    },
    {
        show:true,                          //是否显示 visualMap-continuous 组件。如果设置为 false,不会显示,但是数据映射的功能还存在
        type: 'piecewise',                  // 定义为分段型 visualMap
        splitNumber:5,                      //对于连续型数据,自动平均切分成几段。默认为5段
        pieces: [                           //自定义『分段式视觉映射组件(visualMapPiecewise)』的每一段的范围,以及每一段的文字,以及每一段的特别的样式
            {min: 1500},                     // 不指定 max,表示 max 为无限大(Infinity)。
            {min: 900, max: 1500},
            {min: 310, max: 1000},
            {min: 200, max: 300},
            {min: 10, max: 200, label: '10 到 200(自定义label)'},
            {value: 123, label: '123(自定义特殊颜色)', color: 'grey'}, // 表示 value 等于 123 的情况。
            {max: 5}                        // 不指定 min,表示 min 为无限大(-Infinity)。
        ],
        categories:['严重污染', '重度污染', '中度污染', '轻度污染', '良', '优'],  //用于表示离散型数据(或可以称为类别型数据、枚举型数据)的全集
        min:10,                             //指定 visualMapContinuous 组件的允许的最小值
        max:100,                             //指定 visualMapContinuous 组件的允许的最大值
        minOpen:true,                       //界面上会额外多出一个『< min』的选块
        maxOpen:true,                       //界面上会额外多出一个『> max』的选块。
        selectedMode:"multiple",           //选择模式,可以是:'multiple'(多选)。'single'(单选)。
        inverse:false,                      //是否反转 visualMap 组件
        precision:0,                        //数据展示的小数精度,默认为0,无小数点
        itemWidth:20,                       //图形的宽度,即长条的宽度。
        itemHeight:140,                     //图形的高度,即长条的高度。
        align:"auto",                       //指定组件中手柄和文字的摆放位置.可选值为:'auto' 自动决定。'left' 手柄和label在右。'right' 手柄和label在左。'top' 手柄和label在下。'bottom' 手柄和label在上。
        text:['High', 'Low'],               //两端的文本
        textGap:10,                          //两端文字主体之间的距离,单位为px
        showLabel:true,                     //是否显示每项的文本标签
        itemGap:10,                          //每两个图元之间的间隔距离,单位为px
        itemSymbol:"roundRect",             //默认的图形。可选值为: 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
        dimension:2,                          //指定用数据的『哪个维度』,映射到视觉元素上。『数据』即 series.data。 可以把 series.data 理解成一个二维数组,其中每个列是一个维度,默认取 data 中最后一个维度
        seriesIndex:1,                        //指定取哪个系列的数据,即哪个系列的 series.data,默认取所有系列
        hoverLink:true,                      //鼠标悬浮到 visualMap 组件上时,鼠标位置对应的数值 在 图表中对应的图形元素,会高亮
        inRange:{                             //定义 在选中范围中 的视觉元素
            color: ['#121122', 'rgba(3,4,5,0.4)', 'red'],
            symbolSize: [30, 100]
        },
        outOfRange:{                            //定义 在选中范围外 的视觉元素。
            color: ['#121122', 'rgba(3,4,5,0.4)', 'red'],
            symbolSize: [30, 100]
        },
        zlevel:0,                                   //所属图形的Canvas分层,zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面
        z:2,                                         //所属组件的z分层,z值小的图形会被z值大的图形覆盖
        left:"center",                              //组件离容器左侧的距离,'left', 'center', 'right','20%'
        top:"top",                                   //组件离容器上侧的距离,'top', 'middle', 'bottom','20%'
        right:"auto",                               //组件离容器右侧的距离,'20%'
        bottom:"auto",                              //组件离容器下侧的距离,'20%'
        orient:"vertical",                        //图例排列方向
        padding:5,                                   //图例内边距,单位px  5  [5, 10]  [5,10,5,10]
        backgroundColor:"transparent",            //标题背景色
        borderColor:"#ccc",                         //边框颜色
        borderWidth:0,                               //边框线宽
        textStyle:mytextStyle,                      //文本样式
        formatter: function (value) {                //标签的格式化工具。
            return 'aaaa' + value;                   // 范围标签显示内容。
        }
    }
];

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

豆趣编程

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值