uCharts 散点图增加线条显示函数 Uniapp

uCharts 散点图增加线条显示函数


如图所示,在散点图中增加一条线,和文本,显示一个线性函数,Q群管理员说只能改源码,那只好自己翻源码了,没实现曲线,自己可以根据代码改。

在这里插入图片描述

该方式需要修改源码,在u-charts.js中搜索drawScatterDataPoints方法,如图所示的位置
在这里插入图片描述

			points.forEach(function(item, index) {
				if (item !== null && index >= 2) {
					context.moveTo(item.x + 2.5 * opts.pix, item.y);
					context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);
				}
			});
			//先把点画出来
			context.closePath();
			context.fill();
			context.stroke();
			
			//jmyl 测试 画线----------
			//获取点的前两个作为线条起点终点
			let startItem = points[0];
			let endItem = points[1];
			if (points.length > 1) {
				//线条颜色
				let functionLineColor = eachSeries.functionLineColor || eachSeries.color;
				//线条宽度
				let functionLineWidth = eachSeries.functionLineWidth || 1;
				
				context.beginPath();
				context.setStrokeStyle(functionLineColor);
				context.setLineWidth(functionLineWidth * opts.pix);
				context.moveTo(startItem.x, startItem.y);
				context.lineTo(endItem.x, endItem.y);
				context.stroke();
			}
			//jmyl 测试 画线----------
			
			//jmyl 测试 画公式----------
			//画公式
			context.beginPath();
			context.fillStyle = eachSeries.functionColor || eachSeries.color;
			context.textBaseline = "right";
			let fontSize = opts.legend.fontSize * opts.pix;
			context.setFontSize(fontSize);
			let functionOffsetLeft = eachSeries.functionOffsetLeft || 30;
			context.fillText(eachSeries.functionText, endItem.x - functionOffsetLeft, endItem.y);
			context.closePath();
			//jmyl 测试 画公式----------

调用方法:例子根据官网例子修改的,详细源码找官网

//模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
				let res = {
					series: [{
						name: "散点一",
						functionText:"y=2x+1",
						functionColor:"#676767",
						//functionLineColor:"red",	//线条颜色
						functionLineWidth: 1.5,	//线条宽度
						functionOffsetLeft:50,	//函数左偏移量
						data: data 
					}]
				};

				this.chartsDataLine = JSON.parse(JSON.stringify(res));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uCharts是一个高性能的跨平台表库,支持H5、APP、小程序(微信小程序、支付宝小程序、钉钉小程序、百度小程序、头条小程序、QQ小程序、360小程序)、Vue、Taro等更多支持canvas的框架平台,支持饼、圆环、线、柱状、区域、雷达、圆弧进度、仪表盘、K线、条状、混合、玫瑰、漏斗、词云、时序、气泡、地。 为解决开发者使用可视化组件的困扰,uCharts官方特推出可视化通用组件,本组件具备以下特点: 1、极简单的调用方式,默认配置下只需要传入表类型及表数据即可全端显示。 2、提供强大的在线配置生成工具,可视化中的可视化,鼠标点一点就可以生成表,可视化从此不再难配。 3、兼容ECharts,并解决了ECharts无法使用formatter的问题,可选择PC端或APP端单独使用ECharts引擎渲染表。 4、H5及App采用renderjs渲染表,动画流畅、性能翻倍。 5、根据父容器尺寸弹性显示表,再也不必为宽高匹配及多端适配问题发愁。 6、支持加载状态loading及error展示,避免数据读取显示空白的尴尬。 7、chartData配置与数据解耦,即便使用ECharts引擎也不必担心拼接option的困扰。 8、localdata后端数据直接渲染,无需自行拼接chartData的categories及series,从后端拿回的数据简单处理即可生成表。 9、小程序端不必担心包体积过大问题,ECharts引擎将不会编译到各小程序端,u-charts.js编译后仅为93kb。 10、未来将支持通过HbuilderX的schema2code自动生成全端全平台表,敬请期待!!! 11、uCharts官方拥有3个2000人的QQ群支持,庞大的用户量证明我们一直在努力,本组件将持续更新,请各位放心使用,本组件问题请在QQ3群反馈,您的宝贵建议是我们努力的动力!! 安装注意前提条件【版本要求:HBuilderX 3.1.0+】 1、插件市场点击右侧绿色按钮【使用HBuilderX导入插件】,或者【使用HBuilderX导入示例项目】查看完整示例工程 2、依赖uniapp的vue-cli项目:请将uni-modules目录复制到src目录,即src/uni_modules。(请升级uniapp依赖为最新版本) 3、页面中直接按下面用法直接调用即可,无需在页面中注册组件qiun-data-charts 4、注意父元\u7d20class='charts-box'这个样式需要有宽高

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值