配置项如下
let datas = [
{
name: '2021-06-13 17:00:00',
value: 16,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-13 18:00:00',
value: 13,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-13 19:00:00',
value: 17,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-13 20:00:00',
value: 19,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-13 21:00:00',
value: 19,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-13 22:00:00',
value: 20,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-13 23:00:00',
value: 22,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 00:00:00',
value: 21,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 01:00:00',
value: 20,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 02:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 03:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 04:00:00',
value: 20,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 05:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 06:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 07:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 08:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 09:00:00',
value: 17,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 10:00:00',
value: 19,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 11:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 12:00:00',
value: 17,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 13:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 14:00:00',
value: 20,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 15:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 16:00:00',
value: 16,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 17:00:00',
value: 18,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 18:00:00',
value: 20,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 19:00:00',
value: 21,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 20:00:00',
value: 23,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 21:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 22:00:00',
value: 23,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-14 23:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 00:00:00',
value: 23,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 01:00:00',
value: 23,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 02:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 03:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 04:00:00',
value: 23,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 05:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 06:00:00',
value: 25,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 07:00:00',
value: 26,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 08:00:00',
value: 27,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 09:00:00',
value: 26,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 10:00:00',
value: 24,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 11:00:00',
value: 25,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 12:00:00',
value: 28,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 13:00:00',
value: 31,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 14:00:00',
value: 36,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 15:00:00',
value: 43,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 16:00:00',
value: 42,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 17:00:00',
value: 41,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 18:00:00',
value: 35,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 19:00:00',
value: 31,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 20:00:00',
value: 31,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 21:00:00',
value: 31,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 22:00:00',
value: 29,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-15 23:00:00',
value: 29,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 00:00:00',
value: 29,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 01:00:00',
value: 29,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 02:00:00',
value: 29,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 03:00:00',
value: 29,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 04:00:00',
value: 30,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 05:00:00',
value: 33,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 06:00:00',
value: 34,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 07:00:00',
value: 35,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 08:00:00',
value: 38,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 09:00:00',
value: 37,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 10:00:00',
value: 32,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 11:00:00',
value: 32,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 12:00:00',
value: 33,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 13:00:00',
value: 35,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 14:00:00',
value: 34,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 15:00:00',
value: 33,
itemStyle: {
color: '#64C601',
},
},
{
name: '2021-06-16 16:00:00',
value: 32,
itemStyle: {
color: '#64C601',
},
},
];
option = {
dataZoom: [
{
type: 'inside',
xAxisIndex: [0],
zoomLock: true,
startValue: datas.length - 20,
end: 100,
preventDefaultMouseMove: true,
},
],
tooltip: {
trigger: 'axis',
triggerOn: 'none',
backgroundColor: '#3BBFF5',
formatter: function ([param]) {
return `${param.axisValue} ${param.seriesName}:${param.value}`;
},
position: function (point, params, dom, rect, size) {
return [point[0], point[1] - 45];
},
textStyle: {
color: '#FFFFFF',
},
borderWidth:0,
extraCssText: 'border-radius: 37px 37px 37px 0px;box-shadow: 0px 2px 5px rgba(98, 170, 255, 0.45);',
},
grid: {
left: 0,
right: '2%',
bottom: '3%',
top: '3%',
containLabel: true,
},
xAxis: {
type: 'category',
data: datas.map((t) => t.name).concat(new Array(5).fill('')),
axisTick: {
alignWithLabel: true,
},
axisLine: { show: false },
axisTick: { show: false },
},
yAxis: {
type: 'value',
scale: true,
axisLine: {},
axisTick: {},
min: '0',
},
series: {
name: 'AQI',
type: 'bar',
barWidth: '70%',
lineStyle: {
width: 3,
},
data: datas,
},
};
setTimeout(function () {
myChart.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: datas.length - 1,
});
myChart.on('dataZoom', function ({ batch }) {
let [b] = batch;
let diff = b.end - b.start,
sum = b.start + b.end,
r = ((sum - 100) / (100 - diff)) * diff;
let index = Math.round((datas.length * (sum + r)) / 200);
myChart.dispatchAction({
type: 'showTip',
seriesIndex: 0,
dataIndex: index >= datas.length ? datas.length - 1 : index,
});
});
}, 100);