当前位置: 首页 > wzjs >正文

福州网站建设外贸b2b电子商务网站都有哪些

福州网站建设外贸,b2b电子商务网站都有哪些,wordpress微信支付开发,如何做网站的需求分析echarts的datazoom提供了绘制放大的功能,但通过鼠标绘制只能进行放大 应需求放大与还原都通过鼠标行为实现,增加从右往左绘制时还原放大结果 放大与缩小 关键代码 // datazoom放大缩小编写const comp myChart.value._model.getComponent(toolbox);cons…

echarts的datazoom提供了绘制放大的功能,但通过鼠标绘制只能进行放大
应需求放大与还原都通过鼠标行为实现,增加从右往左绘制时还原放大结果

放大与缩小

关键代码

// datazoom放大缩小编写const comp = myChart.value._model.getComponent('toolbox');const toolbox = myChart.value.getViewOfComponentModel(comp);const datazoom = toolbox._features.dataZoom;// 回退//datazoom.onclick(datazoom.ecModel,datazoom.api,'back');// 记录x的起始位置let x = -1;// 重写放大回调const onBrush = datazoom.constructor.prototype._onBrush;datazoom.constructor.prototype._onBrush = function (evt) {if (x === -1) {x = evt.areas[0].range[0];}if (evt.isEnd) {const zoomin = evt.areas[0].range[0] - x < 0;// 从右往左绘制返回放大前if (zoomin) {this._brushController.updateCovers([]); // 清除绘制区域this.onclick(this.ecModel, this.api, 'back');} else {onBrush.call(this, evt);}x = -1;updateTimeRange(myChart.value);} else {onBrush.call(this, evt);}};// 重写原型链方法后,需要重新创建datazoom对象。因为重写前创建的datazoom对象会执行原先的原型方法// 还原myChart.value._api.dispatchAction({type: 'restore',from: myChart.value.id,key: 'dataZoomSelect',dataZoomSelectActive: true,});//开启默认选中区域缩放myChart.value._api.dispatchAction({type: 'takeGlobalCursor',key: 'dataZoomSelect',dataZoomSelectActive: true,});// 拖动datazoom,更新时间myChart.value.on('datazoom', function (e: any) {updateTimeRange(myChart.value);});

完整代码

	const myChart = ref();const initTimeChart = (date: string[], data: number[] | null[]) => {// const date = [// 	'2024-12-01',// 	'2024-12-02',// 	'2024-12-03',// 	'2024-12-04',// 	'2024-12-05',// 	'2024-12-06',// 	'2024-12-07',// 	'2024-12-08',// 	'2024-12-09',// 	'2024-12-10',// 	'2024-12-11',// 	'2024-12-12',// 	'2024-12-13',// 	'2024-12-14',// 	'2024-12-15',// 	'2024-12-16',// 	'2024-12-17',// ];// const data = [100, 100, 100, null, null, 100, 100, 100, 100, 100, null, null, 100, 100, null, 100, 100];myChart.value = echarts.init(timeChartRef.value);const option = {tooltip: {trigger: 'axis',position: function (pt: any) {return [pt[0], '10%'];},},title: {left: 'center',text: '数据量',},toolbox: {feature: {dataZoom: {show: true,yAxisIndex: 'none',iconStyle: {//不需要图标可以设置隐藏按钮opacity: 1,},},// restore: {},// saveAsImage: {},},},xAxis: {type: 'category',boundaryGap: false,data: date,},yAxis: {type: 'value',boundaryGap: [0, '100%'],max: 1,interval: 1,// 于设置y轴的字体axisLabel: {show: false, //这里的show用于设置是否显示y轴下的字体 默认为truetextStyle: {//textStyle里面写y轴下的字体的样式color: '#333',fontSize: 13,},},//用于设置y轴的那一条线axisLine: {show: true, //这里的show用于设置是否显示y轴那一条线 默认为truelineStyle: {//lineStyle里面写y轴那一条线的样式color: '#ccc',width: 2, //轴线的粗细 我写的是2 最小为0,值为0的时候线隐藏},},},dataZoom: [{type: 'inside',start: 0,end: 60,},{start: 0,end: 60,},],series: [{name: 'Fake Data',type: 'line',symbol: 'none',sampling: 'lttb',itemStyle: {color: 'rgb(255, 70, 131,0)',},areaStyle: {color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: '#75aa4a',},{offset: 1,color: '#75aa4a',},]),},data: data,},],};myChart.value.setOption(option);updateTimeRange(myChart.value);// datazoom放大缩小编写const comp = myChart.value._model.getComponent('toolbox');const toolbox = myChart.value.getViewOfComponentModel(comp);const datazoom = toolbox._features.dataZoom;// 回退//datazoom.onclick(datazoom.ecModel,datazoom.api,'back');// 记录x的起始位置let x = -1;// 重写放大回调const onBrush = datazoom.constructor.prototype._onBrush;datazoom.constructor.prototype._onBrush = function (evt) {if (x === -1) {x = evt.areas[0].range[0];}if (evt.isEnd) {const zoomin = evt.areas[0].range[0] - x < 0;// 从右往左绘制返回放大前if (zoomin) {this._brushController.updateCovers([]); // 清除绘制区域this.onclick(this.ecModel, this.api, 'back');} else {onBrush.call(this, evt);}x = -1;updateTimeRange(myChart.value);} else {onBrush.call(this, evt);}};// 重写原型链方法后,需要重新创建datazoom对象。因为重写前创建的datazoom对象会执行原先的原型方法// 还原myChart.value._api.dispatchAction({type: 'restore',from: myChart.value.id,key: 'dataZoomSelect',dataZoomSelectActive: true,});//开启默认选中区域缩放myChart.value._api.dispatchAction({type: 'takeGlobalCursor',key: 'dataZoomSelect',dataZoomSelectActive: true,});// 拖动datazoom,更新时间myChart.value.on('datazoom', function (e: any) {updateTimeRange(myChart.value);});};// 根据图表时间轴范围更新时间筛选const updateTimeRange = (myChart: any) => {let startValue = myChart.getModel().option.dataZoom[0].startValue;let endValue = myChart.getModel().option.dataZoom[0].endValue;let start = myChart.getModel().option.xAxis[0].data[startValue]; //起始X轴let end = myChart.getModel().option.xAxis[0].data[endValue]; //结束X轴dataStartTime.value = start;dataEndTime.value = end;};

注意

放大缩小重写要在myChart.value.setOption(option);之后

http://www.dtcms.com/wzjs/360940.html

相关文章:

  • b2c网站 cdn 技术方案今天热搜前十名
  • 武汉市住房和城乡建设局网站做推广怎么赚钱
  • 维持一个素材网站要多少钱关键词com
  • wordpress开启新用户注册功能墨子学院seo
  • 做网站需要加班吗百度网盘首页
  • 什么程序做网站网站建设 网站制作
  • 淘宝刷单网站制作深圳网络营销模式
  • 二手网站建设宁波网络营销推广公司
  • 深圳罗湖建网站石家庄seo网络推广
  • 网站建设首页草图跨境电商seo
  • 网站的优化与推广分析百度推广销售
  • vue 实现网站开发产品推广方案范例
  • 微信网站开发制作平台网站报价
  • 建设银行官方网站买五粮液酒太原seo关键词优化
  • java web网站开发视频教程seo营销服务
  • 怎么自己做刷qq网站厦门网站快速排名优化
  • 网站 divwordpress免费建站
  • 做网站推广对电脑有什么要求百度推广助手手机版
  • 烟台提供网站设计制作业务推广网站
  • 建设协会网站著名的个人网站
  • 生物科技公司网站建设网络营销工具
  • 南宁网站设计多少钱护肤品软文推广
  • 建设银行网站支付流程变现流量推广app
  • 手机制作网站开发开鲁网站seo
  • wpf做的网站关于进一步优化当前疫情防控措施
  • 网站标签怎么做seo营销优化
  • 广东省网站建设公司排名深圳网络推广的公司
  • .net做网站之前设置百度上做优化
  • 品牌创意型网站建设最新黑帽seo培训
  • 丹灶网站建设重庆高端网站seo