// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 绘制图表
// let options = {
// title: {
// text: 'ECharts 入门示例'
// },
// tooltip: {
// show: true,
// trigger: 'axis',
// },
// axisPointer: {
// lineStyle: '#bbb',
// type: 'solid',
// width: 3
// },
// xAxis: {
// data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
// },
// yAxis: {},
// series: [
// {
// name: '销量',
// type: 'bar',
// emphasis: {
// itemStyle: {
// color: 'orange',
// borderWidth: 0,
// },
// },
// data: [5, 20, 36, 10, 10, 20]
// }
// ]
// }
let options = {
tooltip: {
show: true,
trigger: 'item',
},
series: [
{
name: 'Access From',
type: 'pie',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
emphasis: {
label: {
show: true,
fontSize: 40,
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{ value: 1048, name: 'Search Engine' },
{ value: 735, name: 'Direct' },
{ value: 580, name: 'Email' },
{ value: 484, name: 'Union Ads' },
{ value: 300, name: 'Video Ads' }
]
}
]
}
myChart.setOption(options);
let currentIndex = -1; // 初始值为-1,表示未开始轮播
let timer = null;
// 切换tooltip
function switchTooltip(myChart) {
// 取消之前高亮的图形
myChart.dispatchAction({
type: 'downplay',
seriesIndex: 0,
dataIndex: currentIndex,
});
currentIndex = (currentIndex + 1) % options.series[0].data.length;
// 高亮当前图形
myChart.dispatchAction({
type: 'highlight',
seriesIndex: 0,
dataIndex: currentIndex,
});
// 显示tooltip
myChart.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: currentIndex,
});
}
function startTooltipLoop(myChart) {
timer = setInterval(() => switchTooltip(myChart), 2000);
}
function closeSwitchTooltip() {
clearInterval(timer);
timer = undefined;
}
// 鼠标悬浮,停止轮播
myChart.on('mousemove', function () {
closeSwitchTooltip();
});
// 鼠标离开,继续轮播
myChart.on('mouseout', function () {
startTooltipLoop(myChart);
});
startTooltipLoop(myChart); //开启轮播
echarts图表自动轮播
最新推荐文章于 2024-05-05 18:17:26 发布