记一次组件化Echarts设置带时间轴的柱状图图表

 

<template>

<Row type="flex" justify="center">

<div style="width:1200px;height:500px" id="main" class="mb31 charts" ref="dom"></div>

</Row>

</template>

 

<script>

import echarts from 'echarts'

import tdTheme from './theme.json'

import { on, off } from '@/libs/tools'

echarts.registerTheme('tdTheme', tdTheme)

export default {

name: 'timeBar',

props: {

value: Object,

// text: String,

isShow: Boolean

// subtext: String

},

data () {

return {

dom: null

}

},

mounted () {

this.$nextTick(() => {

let option = this.value

this.dom = echarts.init(this.$refs.dom, 'tdTheme')

this.dom.setOption(option)

on(window, 'resize', this.resize)

})

},

methods: {

resize () {

this.dom.resize()

}

},

beforeDestroy () {

off(window, 'resize', this.resize)

}

}

</script>

其中theme为图表样式参数文件,可以自行设置

on为外部引用的函数,为以下方式

* @description 绑定事件 on(element, event, handler)

*/

export const on = (function () {

if (document.addEventListener) {

return function (element, event, handler) {

if (element && event && handler) {

element.addEventListener(event, handler, false)

}

}

} else {

return function (element, event, handler) {

if (element && event && handler) {

element.attachEvent('on' + event, handler)

}

}

}

})()

外部传入的value格式为

data2: {

tooltip: {

trigger: 'axis',

axisPointer: {

type: 'shadow'

}

},

grid: {

bottom: 90

},

dataZoom: [{

type: 'inside'

}, {

type: 'slider'

}],

xAxis: {

data: ['02-01', '02-02', '02-03', '02-04', '02-05', '02-06', '02-07', '02-08', '02-09', '02-10'],

silent: false,

splitLine: {

show: false

},

splitArea: {

show: false

}

},

yAxis: {

splitArea: {

show: false

}

},

series: [{

type: 'bar',

data: [6, 14, 5, 9, 19, 16, 16, 16, 16, 16],

large: true,

itemStyle: {

color: '#1890FF'

}

}]

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要控制echarts柱状图的时间选择器,你需要使用echarts时间轴组件时间轴组件允许你在echarts图表中添加一个可交互的时间选择器,以便用户可以选择特定的时间范围。以下是一个简单的示例代码,展示了如何在echarts柱状图中添加时间选择器: ```javascript // 初始echarts实例 var myChart = echarts.init(document.getElementById('chart')); // 配置时间轴组件 var option = { xAxis: { type: 'category', data: ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05', '2021-01-06'] }, yAxis: { type: 'value' }, series: [{ type: 'bar', data: [100, 200, 150, 300, 250, 400] }], dataZoom: [{ type: 'slider', // 时间选择器类型为滑块 xAxisIndex: 0, // 指定关联的x轴索引 start: 0, // 默认选中范围的开始位置(百分比) end: 100 // 默认选中范围的结束位置(百分比) }] }; // 渲染图表 myChart.setOption(option); ``` 在上述代码中,我们首先初始了一个echarts实例,并指定了一个容器元素(`<div id="chart"></div>`)来展示图表。然后,我们配置了x轴、y轴和柱状图数据。 关键部分是`dataZoom`选项,它用于配置时间选择器。我们将`dataZoom`设置为一个数组,其中包含一个`slider`类型的时间选择器。通过设置`xAxisIndex`属性为0,我们将时间选择器与x轴关联起来。`start`和`end`属性指定了默认选中范围的起始和结束位置,这里设置为0和100表示默认选择全部时间范围。 最后,我们通过`setOption`方法将配置应用到图表中,从而实现了时间选择器控制echarts柱状图的效果。 你可以根据自己的需求进行进一步的配置和样式调整。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值