饼状圆
type: 属性为"pie"
可以指定圆的半径
- radius: 60:指定的
-
radius: '50%' 如果radius是百分比,他是以width和height中较小的值为参照物
-
radius: [200, 300] 如果radius是一个数组时,第一个元素表示的是內圆的半径,第二个元素表示外圆的半径
一个简单的圆(指定半径和百分比)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/echarts.min.js"></script>
<!-- 汉化包 -->
<script src="js/langZH.js"></script>
<style>
/* div {
width: 100%;
height: 600px;
} */
</style>
</head>
<body>
<!-- -->
<div id="main"></div>
<script>
var main = document.getElementById("main")
// 初始化图表
// 第一种情况:此种情况是已经提前给图表容器设置好了大小
// var myEcharts = echarts.init(main)
//第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
var myEcharts = echarts.init(main, null, {
width: 800,
height: 600
})
//设置数据及格式(配置)
var option = {
series: [{
type: "pie",
data: [{
value: 335,
name: "数量"
}, {
value: 234,
name: "aaa"
}, {
value: 1520,
name: "总访问"
}],
// 指定圆的半径
// radius: 60
// 如果radius是百分比,他是以width和height中较小的值为参照物
radius: '50%'
// 如果radius是一个数组时,第一个元素表示的是內圆的半径,第二个元素表示外圆的半径
// radius: [200, 300]
}]
};
//第四部
myEcharts.setOption(option)
// 实现响应式
window.onresize = function() {
myEcharts.resize()
}
</script>
</body>
</html>
效果:
如果是数组效果
如果value的值是0那么就要把圆隐藏
设置stillShowZeroSum的值为false
文字设置label: {show: false},
2.设置标题高亮显示
设置:emphasis属性
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/echarts.min.js"></script>
<!-- 汉化包 -->
<script src="js/langZH.js"></script>
<style>
/* div {
width: 100%;
height: 600px;
} */
</style>
</head>
<body>
<!-- -->
<div id="main"></div>
<script>
var main = document.getElementById("main")
// 初始化图表
// 第一种情况:此种情况是已经提前给图表容器设置好了大小
// var myEcharts = echarts.init(main)
//第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
var myEcharts = echarts.init(main, null, {
width: 800,
height: 600
})
//设置数据及格式(配置)
var option = {
// 标题 居中
title: {
text: "标题",
left: "center",
top: "center",
},
series: [{
type: "pie",
// 圆都是0的情况隐藏
// stillShowZeroSum: false,
// 文字隐藏
label: {
show: false
},
emphasis: {
label: {
show: true,
color: "red",
fontSize: 18
},
// 线的样式
labelLine: {
}
},
data: [{
value: 200,
name: "数量"
}, {
value: 300,
name: "aaa"
}, {
value: 1500,
name: "总访问"
}],
// 指定圆的半径
// radius: 60
// 如果radius是百分比,他是以width和height中较小的值为参照物
// radius: '50%'
// 如果radius是一个数组时,第一个元素表示的是內圆的半径,第二个元素表示外圆的半径
radius: [50, 100]
}]
};
//第四部
myEcharts.setOption(option)
// 实现响应式
window.onresize = function() {
myEcharts.resize()
}
</script>
</body>
</html>
效果:
玫瑰图
roseType: 'area'
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/echarts.min.js"></script>
<!-- 汉化包 -->
<script src="js/langZH.js"></script>
<style>
/* div {
width: 100%;
height: 600px;
} */
</style>
</head>
<body>
<!-- -->
<div id="main"></div>
<script>
var main = document.getElementById("main")
// 初始化图表
// 第一种情况:此种情况是已经提前给图表容器设置好了大小
// var myEcharts = echarts.init(main)
//第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
var myEcharts = echarts.init(main, null, {
width: 800,
height: 600
})
//设置数据及格式(配置)
var option = {
series: [{
type: 'pie',
data: [{
value: 40,
name: '玫瑰图 1'
}, {
value: 38,
name: '玫瑰图 2'
}, {
value: 32,
name: '玫瑰图 3'
}, {
value: 30,
name: '玫瑰图 4'
}, {
value: 28,
name: '玫瑰图 5'
}],
roseType: 'area'
}]
};
//第四部
myEcharts.setOption(option)
// 实现响应式
window.onresize = function() {
myEcharts.resize()
}
</script>
</body>
</html>
效果:
散点状
设置type 属性为scatter
- itemStyle可以设置散点的样式
- 设置大小symbolSize,内置的如:symbol: 'circle'
- 可以设置不一样的大小: symbolSize: function(val) {return val / 10 },// val就是data里面的数据
-
引用图片:
-
第一种:使用内置的
-
第二种:使用图片:格式:"image://url"
-
第三种:使用path:格式:"path://path路径"
使用图片:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/echarts.min.js"></script>
<!-- 汉化包 -->
<script src="js/langZH.js"></script>
<style>
/* div {
width: 100%;
height: 600px;
} */
</style>
</head>
<body>
<!-- -->
<div id="main"></div>
<script>
var main = document.getElementById("main")
// 初始化图表
// 第一种情况:此种情况是已经提前给图表容器设置好了大小
// var myEcharts = echarts.init(main)
//第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
var myEcharts = echarts.init(main, null, {
width: 800,
height: 600
})
//设置数据及格式(配置)
var option = {
xAxis: {
type: "category",
data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
},
yAxis: {
type: "value"
},
series: [{
type: 'scatter',
data: [220, 182, 191, 234, 290, 330, 310],
// 颜色
itemStyle: {
color: "red"
},
// 大小1
// symbolSize: 20,
// symbol: 'circle'
// 可以设置不一样的大小
symbolSize: function(val) {
// val就是data里面的数据
return val / 10
},
// 引用图片
// 第一种:使用内置的
// 第二种:使用图片:格式:"image://url"
// 第三种:使用path:格式:"path://path路径"
symbol: 'image://img/zc_03.jpg'
// symbol: "path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z"
}]
};
//第四部
myEcharts.setOption(option)
// 实现响应式
window.onresize = function() {
myEcharts.resize()
}
</script>
</body>
</html>
效果:
使用path(代码把上面的path注释放开)
效果:
3.数据转换
如果想要排序: 更改:type: "sort", order: "asc"
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/echarts.min.js"></script>
<!-- 汉化包 -->
<script src="js/langZH.js"></script>
<style>
/* div {
width: 100%;
height: 600px;
} */
</style>
</head>
<body>
<!-- -->
<div id="main"></div>
<script>
var main = document.getElementById("main")
// 初始化图表
// 第一种情况:此种情况是已经提前给图表容器设置好了大小
// var myEcharts = echarts.init(main)
//第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
var myEcharts = echarts.init(main, null, {
width: 800,
height: 600
})
//设置数据及格式(配置)
var option = {
dataset: [{
// 这个 dataset 的 index 是 `0`。
source: [
['年份', '2011', '2012', '2013'],
['蛋糕', 123, 32, 2011],
['饼干', 231, 14, 2011],
['咖啡', 235, 5, 2011],
['面包', 341, 25, 2011],
['饮料', 122, 29, 2011],
['蛋糕', 143, 30, 2012],
['饼干', 201, 19, 2012],
['咖啡', 255, 7, 2012],
['面包', 241, 27, 2012],
['饮料', 102, 34, 2012],
['蛋糕', 153, 28, 2013],
['饼干', 181, 21, 2013],
['咖啡', 395, 4, 2013],
['面包', 281, 31, 2013],
['饮料', 92, 39, 2013],
['蛋糕', 223, 29, 2014],
['饼干', 211, 17, 2014],
['咖啡', 345, 3, 2014],
['面包', 211, 35, 2014],
['饮料', 72, 24, 2014]
]
}, {
transform: {
type: 'filter',
config: {
dimension: '2013',
value: "2011"
}
}
}, {
transform: {
type: 'filter',
config: {
dimension: '2013',
value: 2012
}
}
}, {
// 这个 dataset 的 index 是 `3`。
transform: {
type: 'filter',
config: {
dimension: '2013',
value: 2013
}
}
}],
series: [{
type: 'pie',
radius: 50,
center: ['25%', '50%'],
datasetIndex: 1
}, {
type: 'pie',
radius: 50,
center: ['50%', '50%'],
datasetIndex: 2
}, {
type: 'pie',
radius: 50,
center: ['75%', '50%'],
datasetIndex: 3
}]
};
//第四部
myEcharts.setOption(option)
// 实现响应式
window.onresize = function() {
myEcharts.resize()
}
</script>
</body>
</html>
效果:
4.跳转
实现点击跳转首先要给他一个点击事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="js/echarts.min.js"></script>
<!-- 汉化包 -->
<script src="js/langZH.js"></script>
<style>
/* div {
width: 100%;
height: 600px;
} */
</style>
</head>
<body>
<!-- -->
<div id="main"></div>
<script>
var main = document.getElementById("main")
// 初始化图表
// 第一种情况:此种情况是已经提前给图表容器设置好了大小
// var myEcharts = echarts.init(main)
//第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
var myEcharts = echarts.init(main, null, {
width: "auto",
height: 600
})
//设置数据及格式(配置)
var option = {
legend: {
show: true
},
xAxis: {
type: 'category',
data: ['羊毛衫', '雪绒衫', '衬衫', '裤子', '高跟鞋', '袜子', '半袖']
},
yAxis: {},
series: [{
name: "销量",
data: [120, 200, 150, 80, 70, 110, 130],
type: 'bar',
}, {
name: "总结",
data: [100, 300, 100, 180, 30, 130, 120],
type: 'bar',
}]
};
//第四部
myEcharts.setOption(option)
// 实现响应式
window.onresize = function() {
myEcharts.resize()
}
myEcharts.on('click', function(params) {
// console.log(params)
// 点击跳转
window.open('https://www.baidu.com/s?wd=' + params.name)
})
</script>
</body>
</html>
效果: