echarts常用图表

1.柱状图

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
	<div style="width: 600px;height: 400px;background-color: pink;"></div>
	<script src="../javascript/echarts-5.5.1/package/dist/echarts.js"></script>
	<script>
		let mCharts = echarts.init(document.querySelector('div'))
		let xAx = ['1号','2号','3号','4号','5号']
		let yAy = [89,67,87,54,90]
		let yAy1 = [79,97,57,44,80]
		let option = {
			title:{
				text:'成绩展示',
				textStyle:{
					color:'red'	//文本红色
				},
				borderWidth:5,	//边框宽度5
				borderColor:'blue',	//边框颜色圆角
				borderRadius:5	//边框
			},
			tooltip:{
				// trigger:'item',	//鼠标经过显示具体数据
				triggerOn:'click',//点击弹出数据
			},
			toolbox:{
				feature:{
					saveAsImage:{},	//导出图片
					dataView:{},	//数据视图
					restore:{},		//重置
					dataZoom:{},		//区域缩放
					magicType:{		//图标类型切换
						type:['bar','line']
					}
				}
			}
			,
			xAxis:{
				type:'category',
				data:xAx
			},
			yAxis:{
				type:'value'
			},
			legend:{
				data:['语文','数学']
			}
			,
			series:[
				{
					name:'数学',
					type:'bar',	//饼图
					markPoint:{	//配置最大值最小值
						data:[
							{
								type:'max',name:'最大值'
							},{
								type:'min',name:'最小值'
							}
						]
					},markLine:{  //配置平均值
						data:[
							{
								type:'average',name:'平均值'
							}
						]
					},
					label:{	//显示label
						show:true,
						rotate:60	//旋转60°
					},
					data:yAy,

				},{
					name:'语文',
					type:'bar',
					markPoint:{	//配置最大值最小值
						data:[
							{
								type:'max',name:'最大值'
							},{
								type:'min',name:'最小值'
							}
						]
					},markLine:{  //配置平均值
						data:[
							{
								type:'average',name:'平均值'
							}
						]
					},
					label:{	//显示label
						show:true,
						rotate:60	//旋转60°
					},
					data:yAy1
				}
			]
		}
		mCharts.setOption(option)
	</script>
</body>
</html>

效果图:

2.折线图

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div style="width: 600px;height: 400px;"></div>
    <script src="../javascript/echarts-5.5.1/package/dist/echarts.js"></script>
    <script>
        let mCharts = echarts.init(document.querySelector('div'))
        let xAx = ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']
        let yAy = [16,25,27,28,28,33,37,39,25,21,14,10]
        let yAy1 = [14,23,25,26,26,31,35,37,23,19,12,8]
        let option = {
            xAxis:{
                type:'category',
                data:xAx,
                boundaryGap:false  //紧挨边缘
            },
            yAxis:{
                type:'value'
            },
            series:[
                {
                    name:'气候',
                    type:'line',    //折现图
                    data:yAy,
                    markPoint:{	//配置最大值最小值
						data:[
							{
								type:'max',name:'最大值'
							},{
								type:'min',name:'最小值'
							}
						]
					},markLine:{  //配置平均值
						data:[
							{
								type:'average',name:'平均值'
							}
						]
					},
                    markArea:{  //标记区间
                        data:[
                            [
                            {
                                xAxis:'1月'
                            },
                            {
                                xAxis:'5月'
                            }
                        ]
                        ]
                    },
                    smooth:true,    //线条配置控制
                    lineStyle:{     //线条风格
                        color:'green',  
                        type:'dotted'
                    },
                    areaStyle:{     //填充风格
                        color:'pink'
                    }
                },
                {
                    name:'气候',
                    type:'line',    //折现图
                    data:yAy1,
                    areaStyle:{}     //填充风格
                }
            ]
        }
        mCharts.setOption(option)
    </script>
</body>
</html>

效果图:

3.散点图

代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div style="width: 600px;height: 400px;"></div>
    <script src="../javascript/echarts-5.5.1/package/dist/echarts.js"></script>
    <script>
        let data = [[10.0, 8.04],[8.07, 6.95],[13.0, 7.58],[9.05, 8.81],[11.0, 8.33],[14.0, 7.66],[13.4, 6.81],[10.0, 6.33],[14.0, 8.96],[12.5, 6.82],[9.15, 7.2],[11.5, 7.2],[3.03, 4.23],[12.2, 7.83],[2.02, 4.47],[1.05, 3.33],[4.05, 4.96],[6.03, 7.24],[12.0, 6.26],[12.0, 8.84],[7.08, 5.82],[5.02, 5.68]]
        let mCharts = echarts.init(document.querySelector('div'))
        let option = {
            xAxis:{
                type:'value',
                scale:true  //缩放
            },
            yAxis:{
                type:'value',
                scale:true
            },
            series:[
                {
                    // type:'scatter',     //散点图
                    type:'effectScatter',    //涟漪动画
                    showEffectOn:'emphasis',
                    rippleEffect:{      //动画
                        scale:5
                    },
                    data:data,       //数据
                    symbolSize:()=>{    //设置点大小
                        return 10
                    },
                    itemStyle:{
                        color:()=>{
                            return 'red'
                        }     //设置颜色
                    }
                }
            ]
        }
        mCharts.setOption(option)
    </script>
</body>

</html>

效果图

直角坐标系

配置1:网格grid

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
	<div style="width: 600px;height: 400px;background-color: pink;"></div>
	<script src="../javascript/echarts-5.5.1/package/dist/echarts.js"></script>
	<script>
		let mCharts = echarts.init(document.querySelector('div'))
		let xAx = ['1号','2号','3号','4号','5号']
		let yAy = [89,67,87,54,90]
		let option = {
            grid:{  //grid配置
                show:true,  //显示网格   
                borderWidth:10, //网格边框粗细
                borderColor:'red',  //网格边框颜色
                left:120,   //距离左边
                top:120,     //距离顶部
                width:300,  //控制大小
                height:200  
            },
			xAxis:{
				type:'category',
				data:xAx
			},
			yAxis:{
				type:'value'
			},
			series:[
				{
					name:'数学',
					type:'bar',	//饼图
					data:yAy,

				}
			]
		}
		mCharts.setOption(option)
	</script>
</body>
</html>

效果图:

配置2:坐标轴axis

代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
	<div style="width: 600px;height: 400px;background-color: pink;"></div>
	<script src="../javascript/echarts-5.5.1/package/dist/echarts.js"></script>
	<script>
		let mCharts = echarts.init(document.querySelector('div'))
		let xAx = ['1号','2号','3号','4号','5号']
		let yAy = [89,67,87,54,90]
		let option = {
            grid:{  //grid配置
                show:true,  //显示网格   
                borderWidth:10, //网格边框粗细
                borderColor:'red',  //网格边框颜色
                left:120,   //距离左边
                top:120,     //距离顶部
                width:300,  //控制大小
                height:200  
            },
			xAxis:{
				type:'category',
				data:xAx,
                position:'top'  //显示在顶部
			},
			yAxis:{
				type:'value',
                position:'right'    //显示在右边
			},
			series:[
				{
					name:'数学',
					type:'bar',	//饼图
					data:yAy,

				}
			]
		}
		mCharts.setOption(option)
	</script>
</body>
</html>

效果图:

配置3:区域缩放dataZoom

代码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div style="width: 600px;height: 400px;background-color: pink;"></div>
    <script src="../javascript/echarts-5.5.1/package/dist/echarts.js"></script>
    <script>
        let mCharts = echarts.init(document.querySelector('div'))
        let xAx = ['1号', '2号', '3号', '4号', '5号']
        let yAy = [89, 67, 87, 54, 90]
        let option = {
            dataZoom: [{
                type: 'slider',   //滑块
                // type: 'inside'   //内置鼠标滚动
                xAxisIndex: 0,     //控制x轴
            },
            {

                type: 'slider',   //滑块
                // type: 'inside'   //内置鼠标滚动
                yAxisIndex: 0,  //控制y轴
                start:0,
                end:80
            }],
            grid: {  //grid配置
                show: true,  //显示网格   
                borderWidth: 10, //网格边框粗细
                borderColor: 'red',  //网格边框颜色
                left: 120,   //距离左边
                top: 120,     //距离顶部
                width: 300,  //控制大小
                height: 200
            },
            xAxis: {
                type: 'category',
                data: xAx
            },
            yAxis: {
                type: 'value'
            },
            series: [
                {
                    name: '数学',
                    type: 'bar',	//饼图
                    data: yAy,

                }
            ]
        }
        mCharts.setOption(option)
    </script>
</body>

</html>

效果:

4.饼图

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div style="width: 600px;height: 400px;"></div>
    <script src="../javascript/echarts-5.5.1/package/dist/echarts.js"></script>
    <script>
        let mCharts = echarts.init(document.querySelector('div'))
        let pieDate = [{name:'淘宝',value:1000},{name:'拼多多',value:2000},{name:'得物',value:3000},{name:'京东',value:4000}]
        let option = {
            series:[
                {
                    type:'pie',
                    data:pieDate,
                    label:{ //饼图显示文字
                        show:true,
                        formatter:function(arg){    //显示返回文字
                            return arg.name + '平台' + arg.value + '元\n' + arg.percent + '%'
                        }
                    },
                // radius:['50%','75%']    //饼图的半径    第0个元素设置内圆的半径,,第1个元素设置外圆的半径      形成圆环
                roseType:'radius',   //南丁格尔图
                selectedMode:'single',       //选中效果  选中偏移圆点一段距离
                // selectedMode: 'muitiple',
                selectedOffset:50
                }
            ]
        }
        mCharts.setOption(option)
    </script>
</body>
</html>

效果图:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值