<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./echarts.min.js">script>
head>
<body>
<div style="width: 600px; height: 400px;">div>
<script>
// 3. 初始化echarts实例对象
var myChart = echarts.init(document.querySelector('div'));
// 4. 准备配置项(上官网复制代码)
var option = {
color: ['#3398DB'],
tooltip: {
trigger: 'axis',
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
// x轴
xAxis: [{
// 类目轴
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
axisTick: {
alignWithLabel: true
}
}],
// y轴
yAxis: [{
// 数值轴
type: 'value'
}],
// 系列列表
series: [{
name: '直接访问',
// 图表类型
type: 'bar',
barWidth: '60%',
data: [10, 52, 200, 334, 390, 330, 220]
}]
};
// 将配置项给echarts实例对象
myChart.setOption(option);
script>
body>
html>
结果:
官方文档:https://echarts.apache.org/zh/option.html#title
描述分类数据,呈现每一个分类中有多少。
var option = {
color: ['#3398DB'],
xAxis: [{
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
}],
yAxis: [{
type: 'value'
}],
series: [{
name: '直接访问',
type: 'bar',
data: [10, 52, 200, 334, 390, 330, 220]
}]
};
常见效果
常用来分析数据随时间的变化趋势。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./echarts.min.js">script>
head>
<body>
<div style="width: 600px; height: 400px;">div>
<script>
// 3. 初始化echarts实例对象
var myChart = echarts.init(document.querySelector('div'));
// 4. 准备配置项
option = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [300, 632, 901, 934, 1290, 1330, 1320],
type: 'line'
}]
};
// 将配置项给echarts实例对象
myChart.setOption(option);
script>
body>
html>
可以帮助推断变量之间的相关性。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./echarts.min.js">script>
head>
<body>
<div style="width: 600px; height: 400px;">div>
<script>
// 3. 初始化echarts实例对象
var myChart = echarts.init(document.querySelector('div'));
// 4. 准备配置项
var option = {
xAxis: {
},
yAxis: {
},
series: [{
symbolSize: 20,
// 二维数组
// 实际开发中可能需要对原始数据操作,可以通过循环获取想要数据,并生成一个新的二维数组
data: [
[10.0, 8.04],
[8.0, 6.95],
[13.0, 7.58],
[9.0, 8.81],
[11.0, 8.33],
[14.0, 9.96],
[6.0, 7.24],
[4.0, 4.26],
[12.0, 10.84],
[7.0, 4.82],
[5.0, 5.68]
],
type: 'scatter'
}]
};
// 将配置项给echarts实例对象
myChart.setOption(option);
script>
body>
html>
直角坐标系图表:柱状图、折线图、散点图
可快速了解不同分类数据的占比情况。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./echarts.min.js">script>
head>
<body>
<div style="width: 600px; height: 400px;">div>
<script>
// 3. 初始化echarts实例对象
var myChart = echarts.init(document.querySelector('div'));
// 4. 准备配置项
var option = {
series: [{
name: '访问来源',
type: 'pie',
data: [{
value: 335,
name: '直接访问'
}, {
value: 310,
name: '邮件营销'
}, {
value: 234,
name: '联盟广告'
}, {
value: 1548,
name: '搜索引擎'
}]
}]
};
// 将配置项给echarts实例对象
myChart.setOption(option);
script>
body>
html>
可从宏观的角度快速看出不同地理位置上数据的差异。
$.get('china.json', function(chinaJson)())
echarts.registerMap('chinaMap', chinaJson);
type: 'map'
map: 'chinaMap'
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./echarts.min.js">script>
<script src="./jquery.min.js">script>
head>
<body>
<div style="width: 600px; height: 400px;">div>
<script>
var myChart = echarts.init(document.querySelector('div'));
// 获取地图矢量数据
$.get('./map/china.json', function(ret) {
// console.log(ret);
echarts.registerMap('chinaMap', ret)
var option = {
geo: {
type: 'map',
map: 'chinaMap'
}
};
myChart.setOption(option);
})
script>
body>
html>
可用来分析多个维度的数据与标准数据的对比情况。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./echarts.min.js">script>
<script src="./jquery.min.js">script>
head>
<body>
<div style="width: 600px; height: 400px;">div>
<script>
var myChart = echarts.init(document.querySelector('div'));
var option = {
// 雷达
radar: {
// 定义各个维度的最大值
indicator: [{
name: '销售(sales)',
max: 6500
}, {
name: '管理(Administration)',
max: 16000
}, {
name: '信息技术(Information Techology)',
max: 30000
}, {
name: '客服(Customer Support)',
max: 38000
}, {
name: '研发(Development)',
max: 52000
}, {
name: '市场(Marketing)',
max: 25000
}]
},
series: [{
name: '预算 vs 开销(Budget vs spending)',
// 设置;类型为雷达
type: 'radar',
// areaStyle: {normal: {}},
data: [{
value: [4300, 10000, 28000, 35000, 50000, 19000],
name: '预算分配(Allocated Budget)'
}, {
value: [5000, 14000, 28000, 31000, 42000, 21000],
name: '实际开销(Actual Spending)'
}]
}]
};
myChart.setOption(option);
script>
body>
html>
主要用在进度把控数据范围的监测。
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="./echarts.min.js">script>
<script src="./jquery.min.js">script>
head>
<body>
<div style="width: 600px; height: 400px;">div>
<script>
var myChart = echarts.init(document.querySelector('div'));
var option = {
series: [{
// 仪表盘
type: 'gauge',
data: [{
value: 50,
}]
}]
};
myChart.setOption(option);
script>
body>
html>
网址:https://echarts.apache.org/zh/theme-builder.html
它是一组颜色,图形、系列会自动从中选择颜色。
调色盘遵循就近原则。
浏览器大小发生变化时,图表也能随之匹配变化。
可以配合响应式布使用:
window.addEventListener('resize', function() {
myChart.resize();
})
加载动画:
ECharts已经内置好了加载数据的动画,我们只需要在合适的时机显示或隐藏即可。
myChart.showLoading()
myChart.hideLoading()
增量动画 myChart.setOption:
可以实现在同一个图表中点击按钮进行数据修改、新增等操作。
setOption可以设置多次,新旧option是相互整合的关系。
设置新option的时候只需要考虑变化的部分。
动画项配置
全局echarts对象
全局echarts对象是引入echarts.js文件之后就可以直接使用的。
echartsInstance对象
echartsInstance对象是通过echarts.init方法调用之后得到的。
echarts.connect([myChart1, myChart2])
产生联动效果的情况:
- 保存图片的自动拼接
- 刷新按钮
- 重置按钮
- 提示框联动、图例选择、数据范围修改等。。