ECharts高级-显示相关

主题

  • 引入主题的步骤
    1. 如果引入的是系统内置的主题 light dark直接在init方法第二个参数的位置填入
    2. 引入其他主题需要先引入对应的js文件,然后init方法第二个参数放置
  • 图表代码
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>主题使用</title>
    <script src="js/lib/echarts.min.js" type="text/javascript" charset="utf-8"></script>
	<!--引入主题的js文件 -->
    <script src="js/theme/shine.js"></script>
</head>
<body>
    <div id="main" style="width: 600px;height:400px;"></div>
    <script type="text/javascript">
		//内置主题
        // 内置两个主题light 和 dark 是init的第二个参数
		//引用上面js文件里面的注册主题名字和文件名称无关
        var myChart = echarts.init(document.querySelector('div'),'vintage');
     
        var option = {
            legend: {
                data:['销量']
            },
            xAxis: {
				type:'category',
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: { 
				type:'value',
			},
            series: [
				{
					name: '销量',
					type: 'bar',
					data: [5, 20, 36, 10, 10, 20],
				}
			]
        };
        myChart.setOption(option);
    </script>
</body>
</html>
  • 引入的js文件
(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define(['exports', 'echarts'], factory);
    } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
        // CommonJS
        factory(exports, require('echarts'));
    } else {
        // Browser globals
        factory({}, root.echarts);
    }
}(this, function (exports, echarts) {
    var log = function (msg) {
        if (typeof console !== 'undefined') {
            console && console.error && console.error(msg);
        }
    };
    if (!echarts) {
        log('ECharts is not Loaded');
        return;
    }
    var colorPalette = ['#d87c7c','#919e8b', '#d7ab82',  '#6e7074','#61a0a8','#efa18d', '#787464', '#cc7e63', '#724e58', '#4b565b'];
    echarts.registerTheme('vintage', {
        color: colorPalette,
        backgroundColor: '#fef8ef',
        graph: {
            color: colorPalette
        }
    });
}));

在这里插入图片描述

调色盘

主题调色盘

  • 上面主题引入的js文件中的主题调色盘

全局调色盘

 var option = {
		//全局调色盘 会覆盖主题调色盘
		color:['red','green','blue','skyblue','purple'],
    }

局部调色盘

 var option = {
		series:[
			{	
				//局部调色盘 会覆盖全局调色盘
				color:['pink','yellow','black','orange','red'],
			}
		]
    }

颜色渐变

线性渐变

series: [
	{
		name: '销量',
		type: 'bar',
		data: [5, 20, 36, 10, 10, 20],
		itemStyle:{
			color:{
				type:'linear', //线性渐变
				x:0,
				y:0,
				x2:0,
				y2:1,
				colorStops:[
					{
						offset:0,color:'red' //百分之0处是红色
					},
					{
						offset:1,color:'blue' //百分之0处是红色
					}
				]
			} 
		}
	}
]

在这里插入图片描述

径向渐变

series: [
	{
		name: '销量',
		type: 'bar',
		data: [5, 20, 36, 10, 10, 20],
		itemStyle:{
			color:{
				type:'linear', //线性渐变
				x:0,
				y:0,
				x2:0,
				y2:1,
				colorStops:[
					{
						offset:0,color:'red' //百分之0处是红色
					},
					{
						offset:1,color:'blue' //百分之0处是红色
					}
				]
			} 
		}
	}
]

在这里插入图片描述

样式

直接样式

  • itemStyle
  • textStyle
  • lineStyle
  • areaStyle
  • label
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>样式</title>
  <script src="js/lib/echarts.min.js"></script>
</head>

<body>
  <div style="width: 600px;height:600px"></div>
  <script>
    var mCharts = echarts.init(document.querySelector("div"))
	var peiData = [
		{
			name:'淘宝',
			value:11231,
			//控制淘宝这一区域的颜色
			itemStyle:{
				color:'skyblue'
			},
			//设置label的样式
			label:{
				color:'blue'
			}
		},
		{
			name:'京东',
			value:22637
		},
		{
			name:'唯品会',
			value:6123
		},
		{
			name:'1号店',
			value:8989
		},
		{
			name:'聚美优品',
			value:6700
		}
	]
    var option = {
		title:{
			text:'饼图测试',
			//针对标题样式
			textStyle:{
				color:'blue'
			}
		},
		series:[
			{	
				type:'pie',
				data: peiData,
				label:{
					show:true,
					formatter:function(arg){
						console.log(arg);
						return arg.name+'平台'+arg.value+'元\n' +arg.percent+'%' 
					}
				},
				radius:'50%',
				selectedMode:'multiple',
				selectedOffset:30
			}
		]
    }
    mCharts.setOption(option)
  </script>
</body>

</html>

在这里插入图片描述

高亮样式

  • 优先级会高,会覆盖主题中,调色盘的效果
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>样式</title>
  <script src="js/lib/echarts.min.js"></script>
</head>

<body>
  <div style="width: 600px;height:600px"></div>
  <script>
    var mCharts = echarts.init(document.querySelector("div"))
	var peiData = [
		{
			name:'淘宝',
			value:11231,
			//控制淘宝这一区域的颜色
			itemStyle:{
				color:'skyblue'
			},
			//设置label的样式
			label:{
				color:'blue'
			},
			//高亮样式 被emphasis包裹住
			emphasis:{
				itemStyle:{
					color:'pink'
				},
				//设置label的样式
				label:{
					color:'blue'
				},
			}
		},
		{
			name:'京东',
			value:22637
		},
		{
			name:'唯品会',
			value:6123
		},
		{
			name:'1号店',
			value:8989
		},
		{
			name:'聚美优品',
			value:6700
		}
	]
    var option = {
		title:{
			text:'饼图测试',
			//针对标题样式
			textStyle:{
				color:'blue'
			}
		},
		series:[
			{	
				type:'pie',
				data: peiData,
				label:{
					show:true,
					formatter:function(arg){
						console.log(arg);
						return arg.name+'平台'+arg.value+'元\n' +arg.percent+'%' 
					}
				},
				radius:'50%',
				selectedMode:'multiple',
				selectedOffset:30
			}
		]
    }
    mCharts.setOption(option)
  </script>
</body>

</html>

在这里插入图片描述

自适应

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>颜色渐变</title>
    <script src="js/lib/echarts.min.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
    <div id="main" style="height:400px;"></div>
    <script type="text/javascript">
        var myChart = echarts.init(document.querySelector('div'));
     
        var option = {
            legend: {
                data:['销量']
            },
            xAxis: {
				type:'category',
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: { 
				type:'value',
			},
            series: [
				{
					name: '销量',
					type: 'bar',
					data: [5, 20, 36, 10, 10, 20],
					itemStyle:{
						color:{
							type:'linear', //线性渐变
							x:0,
							y:0,
							x2:0,
							y2:1,
							colorStops:[
								{
									offset:0,color:'red' //百分之0处是红色
								},
								{
									offset:1,color:'blue' //百分之0处是红色
								}
								
							]
						},
					}
				}
			]
        };
        myChart.setOption(option);
		//监听window窗口大小变化
/* 		window.onresize = function(){
			console.log('window.onize');
			//调用echarts的resiez方法
			myChart.resize();
		} */
		window.onresize = myChart.resize;
    </script>
</body>
</html>

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值