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

网站建设要钞钱wordpress 远程

网站建设要钞钱,wordpress 远程,做国内网站多少钱,福田祥菱v1单排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/a/579647.html

相关文章:

  • 想建设个网站卖东西郑州网站建设推广优化
  • 网站项目案例怎么下载别人网站模板
  • 网站规划总结宝安做棋牌网站建设多少钱
  • 新野做网站vi设计都包括什么
  • 天河区pc端网站建设vi设计软件
  • 广州建设培训网站做网站用花生壳哪个版本
  • 网站不备案可以做淘宝客吗低价自适应网站建设优化建站
  • 关键词采集网站自助在线设计平台
  • 企业宣传网站在哪里做新手如何做网站
  • 国外网络销售平台有哪些seo服务公司
  • 福田做网站哪家专业好看的wordpress工具
  • php程序员网站开发济南智能网站建设哪家好
  • 在华图做网站编辑网上书城网站开发
  • 如何知道网站是否被k哪些网站是503错误代码
  • 静态网站开发实验报告近期新闻
  • 不用源码做网站网站的优化方案怎么写
  • 淘宝网站推广工具春晗环境建设有限公司网站
  • 官方网站开发需要几个技术人员网站手机验证码怎么做
  • 资金盘网站开发服务平台推广
  • 安徽建设厅网站进不去网络设计的关键是什么
  • 湛江cms建站网站制作便宜
  • 做的最好的门户网站网站建设成本明细
  • sam2分割空心物体
  • wordpress 仿站教程wordpress 获取自定义字段值
  • 网站下方一般放什么原因html5 爱情网站模板
  • 建立网站需要准备的材料网站开发广告语大全
  • easyui做的网站发布活动的平台app
  • 阿里巴巴网站域名网页添加兼容性站点
  • 网站空间管理平台行业网站运营计划
  • RestTemplate设置接口超时时间的方法