bootcdn 的 Echarts
// 导入 Echarts
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script>
$ yarn add echarts
$ yarn add --dev @types/echarts
import echarts from 'echarts';
var echarts = require('echarts')
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ECharts</title>
<script src="echarts.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data: ['销量']
},
xAxis: {
data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
},
yAxis: {},
series: [
{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}
]
};
myChart.setOption(option);
</script>
</body>
</html>
更改 Echarts 外观
直接在第二个参数添加
var echarts = require('echarts')
const main = document.getElementById('main')
// 基于准备好的dom,初始化echarts实例, 增加 'dark' 参数
// 可选的参数有: dark、light、default
var myChart = echarts.init(main, 'dark')
更新 Echarts 数据
展示 loading
myChart.showLoading()
myChart.hideLoading()
阻止未加载完的多次点击事件
let isLoading = false // 设置 loading值 为 false
loadMoreButton.addEventListener('click', () => {
if(isLoading === true){return} // 判断是否loading开始
myChart.showLoading() // loading 开始
isLoading = true
setTimeout(()=>{
const key = createKey()
const value = createValue()
xData = [...xData, key]
values = [...values, value]
myChart.setOption({
xAxis: {
data: xData
},
series: {
data: values
}
})
myChart.hideLoading() // loading 结束
isLoading = false // 设置 loading值 为 false
},3000)
})
移动端适配
常规技巧
- meta:viewport 抄淘宝手机版
- 用 JS 获取屏幕宽度设置在 div 上
- 设定宽高比
const width = document.documentElement.clientWidth
main.style.width = `${width}px`
main.style.height = `${width*1.2}px`
Echarts 提供的功能
myChart.setOption({
baseOption: { // 原始数据
title: {
show: true,
text: 'ECharts 入门示例',
right: 20,
},
tooltip: {
show: true,
},
legend: {
data: ['销量']
},
xAxis: {
data: xData
},
yAxis: {},
series: [{
lineStyle: {
color: 'blue',
},
itemStyle: {
borderWidth: 0
},
name: '销量',
type: 'line',
data: values
}]
},
media: [ // 适配手机要修改的数据
{
query: {
maxWidth: 500
},
option: {
series: [{
itemStyle: {
borderWidth: 30
},
}]
}
}
]
});
数据可视化
第三方组件
安装第三方组件
yarn add echarts vue-echarts