大数据可视化技术-echarts02

基础柱状图的绘制

结合如下期末语文成绩,绘制柱状图:
在这里插入图片描述
配置项的内容

var option1 = {
			//标题
			title:{
				text:'语文期末成绩', 
				left:250
			},
			// 提示框
			tooltip:{},
			// 图例
			legend:{
				data:['语文']
			},
			// x轴
			xAxis:{
				data:xdata1
			},
			// y轴
			yAxis:{},
			// 
			series:[{
				name:'语文',
				type:'bar',
				color:'#e66',
				data:ydata1
			}]
		};

柱状图的标记与显示

成果物1,标记出语文成绩的最高值和最低值,并标记出平均值线,成果图如下。
在这里插入图片描述
配置项内容

var option2 = {
			// 标题
			title:{
				text:'语文的期末成绩2',
				left:200
			},
			// 提示框
			tooltip:{},
			// 图例
			legend:{
				data:['语文']
			},
			xAxis:{},
			// Y轴内容设置为'category'表示类目轴,必须通过data设置类目数据
			yAxis:{
				type:'category',
				data:xdata1
			},
			
			series:[{
				name:'语文',
				type:'bar',
				data:ydata1,
				// 标记出最大值与最小值
				markPoint:{
					data:[
						{
							type:'max',
							name:'最大值'
						},{
							type:'min',
							name:'最小值'
						}
					]
				},
				// 图中平均线
				markLine:{
					data:[
						{
							type:'average',
							name:'平均值'
						}
					]
				},
				// 让每个柱子的数据显示在柱子上,45度角
				label:{
					show:true,
					rotate:45
				},
				// 柱子的宽度
				barWidth:'50%',
			}]
		};

通用配置的设置

通用配置指的是其他图形都含有的配置,如标题title、提示框tooltip、工具栏toolbox、图例legend。
请根据配置手册中title的属性,在成果物1的基础上将标题设置为‘成绩展示’,设置字体颜色为‘orange’,尝试更改字体风格等设置,设置合适的边框宽度,颜色和边框圆角半径,调整标题位置,并将echarts配置项手册网址设置为主标题的文本超链接。
请根据配置手册中tooltip的属性,设置鼠标移动到柱子后触发提示,提示该该同学的分数为多少分。
请根据配置手册中toolbox.feature的属性,设置工具栏功能,需要由保存图片,数据视图工具,配置项还原,数据区域缩放,动态类型切换。
在这里插入图片描述
配置项内容

var option3 = {
			// 标题样式
			title:{
				text:'成绩展示',
				left:200,
				textStyle:{
					color:'orange',
					fontFamily:'Courier New',
					fontWeight:'bolder',
					fontSize:'20'
				},
				borderWidth:5,
				borderColor:'blue',
				borderRadius:15,
				link:'https://echarts.apache.org/zh/option.html#series',
				target:'blank'
			},
			// 提示框
			tooltip:{
				// 触发器,鼠标移到柱子才显示信息
				trigger:'item',
				triggerOn:'mousemove',
				// 提示框中的内容
				formatter:function(arg){
					// console.log(arg);
					return arg.name+'的'+arg.seriesName+'是'+arg.data
				}
			},
			// 工具栏
			toolbox:{
				// feature属性设置工具栏功能
				feature:{
					// 保存图片
					saveAsImage:{
						type:'png',
						title:'保存图片'
					},
					// 数据视图工具
					dataView:{
						title:'预览可修改'
					},
					// 配置项还原
					restore:{
						show:true,
						title:'重置'
					},
					// 数据区域缩放
					dataZoom:{
						show:true,
						// 框选某个区域进行放大
						brushStyle:{
							color:'grey',
						},
						title:{
							// 缩放前
							zoom:'区域缩放',
							// 缩放后
							back:'区域缩放还原'
						}
					},
					// 动态类型切换
					magicType:{
						// 切换到类型为柱状图和折线图
						type:['bar','line'],
						title:{
							line:'转换为折线图',
							bar:'转换为柱状图'
						}
					}
				},
				// 工具栏位置
				right:100
			},
			// 图例
			legend:{
				data:['语文','数学']
			},
			// x轴数据设置为类目轴
			xAxis:{
				type:'category',
				data:xdata1
			},
			yAxis:{},
			// 传入两组数据
			series:[{
				name:'语文',
				type:'bar',
				data:ydata1,
			},{
				name:'数学',
				type:'bar',
				data:ydata2
			}]
		};

折线图的尝试

在这里插入图片描述
配置项内容

var option5 = {
			title:{
				text:'巧面馆的销量',
				left:150
			},
			// 图例
			legend:{
				data:['巧面馆的销量']
			},
			// 提示框
			tooltip:{
				trigger:'item',
				triggerOn:'mousemove',
				formatter:function(arg){
					// console.log(arg)
					return arg.name+'的销量是'+arg.value
				}
			},
			// 工具栏
			toolbox:{
				right:100,
				feature:{
					saveAsImage:{
						type:'png'
					},
					dataView:{},
					restore:{},
					dataZoom:{},
					magicType:{
						type:['bar','line']
					}
				}
			},
			xAxis:{
				type:'category',
				data:xdata2
			},
			yAxis:{},
			series:[{
				name:'巧面馆的销量',
				type:'line',
				data:ydata4
			}]
		};

堆叠折线图,并实现工具栏

在这里插入图片描述
配置项内容

var option4 = {
			// 标题
			title:{
				text:'康师傅的销量',
				left:100
			},
			// 提示框
			tooltip:{
				show:true,
				trigger:'item',
				// formatter:function(arg){
				// 	console.log(arg)
				// }
			},
			// 工具栏
			toolbox:{
				right:100,
				feature:{
					// 保存图片
					saveAsImage:{
						type:'png'
					},
					// 数据视图
					dataView:{},
					// 重置
					restore:{},
					// 缩放
					dataZoom:{},
					// 类型转换
					magicType:{
						type:['bar','line']
					}
				}
			},
			xAxis:{
				// X轴为类目轴
				type:'category',
				data:xdata2,
				boundaryGap:false
			},
			yAxis:{
				scale:true
			},
			// 图例
			legend:{
				data:'销售量'
			},
			series:[{
				name:'康师傅销量',
				data:ydata3,
				type:'line',
				color:'red',
				smooth:true,
				lineStyle:{
					color:'green',
					type:'dotted'
				},
				areaStyle:{
					color:'pink'
				},
				stack:'all'
			},{
				name:'巧面馆的销量',
				data:ydata4,
				type:'line',
				stack:'all',
				areaStyle:{
					color:'yellow'
				},
				markPoint:{
					data:[{
						type:'max',
						name:'最大值'
					},{
						type:'min',
						name:'最小值'
					}]
				},
				markLine:{
					data:[{
						type:'average',
						name:'巧面馆的平均销售量'
					}]
				},
				markArea:{}
			}]
		};

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>配置实验课</title>
	<!-- 第一步,引入echarts -->
    <script src="./echarts.min.js"></script>

</head>
<body>
	<!-- 创建容器 -->
	<div id="one" style="width: 800px;height: 500px;"></div>
	<div id="two" style="width: 800px;height: 500px;"></div>
	<div id="three" style="width: 800px;height: 500px;"></div>
	<div id="four" style="width: 800px;height: 500px;"></div>
	<div id="five" style="width: 800px;height: 500px;"></div>

	<script type="text/javascript">
		// 获取元素,并初始化
		var myChart1 = echarts.init(document.getElementById('one'));
		xdata1 = ["张三","李四","王五","闰土","小明","茅台","二妞","大强"];
		ydata1 = [88, 92, 63, 77, 94, 80, 72, 86];
		
		// 设置配置项
		var option1 = {
			//标题
			title:{
				text:'语文期末成绩', 
				left:250
			},
			// 提示框
			tooltip:{},
			// 图例
			legend:{
				data:['语文']
			},
			// x轴
			xAxis:{
				data:xdata1
			},
			// y轴
			yAxis:{},
			// 
			series:[{
				name:'语文',
				type:'bar',
				color:'#e66',
				data:ydata1
			}]
		};
		myChart1.setOption(option1);
		
		
		// 任务二
		var myChart2 = echarts.init(document.getElementById('two'));
		
		var option2 = {
			// 标题
			title:{
				text:'语文的期末成绩2',
				left:200
			},
			// 提示框
			tooltip:{},
			// 图例
			legend:{
				data:['语文']
			},
			xAxis:{},
			// Y轴内容设置为'category'表示类目轴,必须通过data设置类目数据
			yAxis:{
				type:'category',
				data:xdata1
			},
			
			series:[{
				name:'语文',
				type:'bar',
				data:ydata1,
				// 标记出最大值与最小值
				markPoint:{
					data:[
						{
							type:'max',
							name:'最大值'
						},{
							type:'min',
							name:'最小值'
						}
					]
				},
				// 图中平均线
				markLine:{
					data:[
						{
							type:'average',
							name:'平均值'
						}
					]
				},
				// 让每个柱子的数据显示在柱子上,45度角
				label:{
					show:true,
					rotate:45
				},
				// 柱子的宽度
				barWidth:'50%',
			}]
		};
		myChart2.setOption(option2);
		
		
		// 任务三
		var myChart3 = echarts.init(document.getElementById('three'));
		ydata2 = [96, 52, 72, 25, 85, 58, 83, 73];
		
		var option3 = {
			// 标题样式
			title:{
				text:'成绩展示',
				left:200,
				textStyle:{
					color:'orange',
					fontFamily:'Courier New',
					fontWeight:'bolder',
					fontSize:'20'
				},
				borderWidth:5,
				borderColor:'blue',
				borderRadius:15,
				link:'https://echarts.apache.org/zh/option.html#series',
				target:'blank'
			},
			// 提示框
			tooltip:{
				// 触发器,鼠标移到柱子才显示信息
				trigger:'item',
				triggerOn:'mousemove',
				// 提示框中的内容
				formatter:function(arg){
					// console.log(arg);
					return arg.name+'的'+arg.seriesName+'是'+arg.data
				}
			},
			// 工具栏
			toolbox:{
				// feature属性设置工具栏功能
				feature:{
					// 保存图片
					saveAsImage:{
						type:'png',
						title:'保存图片'
					},
					// 数据视图工具
					dataView:{
						title:'预览可修改'
					},
					// 配置项还原
					restore:{
						show:true,
						title:'重置'
					},
					// 数据区域缩放
					dataZoom:{
						show:true,
						// 框选某个区域进行放大
						brushStyle:{
							color:'grey',
						},
						title:{
							// 缩放前
							zoom:'区域缩放',
							// 缩放后
							back:'区域缩放还原'
						}
					},
					// 动态类型切换
					magicType:{
						// 切换到类型为柱状图和折线图
						type:['bar','line'],
						title:{
							line:'转换为折线图',
							bar:'转换为柱状图'
						}
					}
				},
				// 工具栏位置
				right:100
			},
			// 图例
			legend:{
				data:['语文','数学']
			},
			// x轴数据设置为类目轴
			xAxis:{
				type:'category',
				data:xdata1
			},
			yAxis:{},
			// 传入两组数据
			series:[{
				name:'语文',
				type:'bar',
				data:ydata1,
			},{
				name:'数学',
				type:'bar',
				data:ydata2
			}]
		};
		myChart3.setOption(option3);
		
		// 任务四
		var myChart4 = echarts.init(document.getElementById('four'));
		xdata2 = ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"];
		ydata3 = [3000, 2800, 900, 1000, 800, 700, 1400, 1300, 900, 1000, 800, 600];
		ydata4 = [3300, 2000, 1000, 1040, 900, 600, 1300, 1500, 1200, 1300, 1000, 800];
		
		var option4 = {
			// 标题
			title:{
				text:'康师傅的销量',
				left:100
			},
			// 提示框
			tooltip:{
				show:true,
				trigger:'item',
				// formatter:function(arg){
				// 	console.log(arg)
				// }
			},
			// 工具栏
			toolbox:{
				right:100,
				feature:{
					// 保存图片
					saveAsImage:{
						type:'png'
					},
					// 数据视图
					dataView:{},
					// 重置
					restore:{},
					// 缩放
					dataZoom:{},
					// 类型转换
					magicType:{
						type:['bar','line']
					}
				}
			},
			xAxis:{
				// X轴为类目轴
				type:'category',
				data:xdata2,
				boundaryGap:false
			},
			yAxis:{
				scale:true
			},
			// 图例
			legend:{
				data:'销售量'
			},
			series:[{
				name:'康师傅销量',
				data:ydata3,
				type:'line',
				color:'red',
				smooth:true,
				lineStyle:{
					color:'green',
					type:'dotted'
				},
				areaStyle:{
					color:'pink'
				},
				stack:'all'
			},{
				name:'巧面馆的销量',
				data:ydata4,
				type:'line',
				stack:'all',
				areaStyle:{
					color:'yellow'
				},
				markPoint:{
					data:[{
						type:'max',
						name:'最大值'
					},{
						type:'min',
						name:'最小值'
					}]
				},
				markLine:{
					data:[{
						type:'average',
						name:'巧面馆的平均销售量'
					}]
				},
				markArea:{}
			}]
		};
		myChart4.setOption(option4);
		
		
		// 任务五
		var myChart5 = echarts.init(document.getElementById('five'));
		var option5 = {
			title:{
				text:'巧面馆的销量',
				left:150
			},
			// 图例
			legend:{
				data:['巧面馆的销量']
			},
			// 提示框
			tooltip:{
				trigger:'item',
				triggerOn:'mousemove',
				formatter:function(arg){
					// console.log(arg)
					return arg.name+'的销量是'+arg.value
				}
			},
			// 工具栏
			toolbox:{
				right:100,
				feature:{
					saveAsImage:{
						type:'png'
					},
					dataView:{},
					restore:{},
					dataZoom:{},
					magicType:{
						type:['bar','line']
					}
				}
			},
			xAxis:{
				type:'category',
				data:xdata2
			},
			yAxis:{},
			series:[{
				name:'巧面馆的销量',
				type:'line',
				data:ydata4
			}]
		};
		myChart5.setOption(option5)
	</script>

</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值