秋云ucharts echarts 高性能夸全段图表下的qiun-data-charts链接后台数据

前言

最近新弄了一个秋云ucharts的折线图,用到了数据。

二、使用步骤

1.引入插件

先在插件市场使用插件导入到项目里
链接
在这里插入图片描述

2.读入数据

	<qiun-title-bar title="COD" />
	<view class="charts-box">
	<qiun-data-charts type="area"
		:opts="{yAxis:{data:[{min:0}]},extra:{area:{type:'curve',addLine:true,gradient:true}}}"
		:chartData="chartsData.Line3" :echartsH5="true" :echartsApp="true" />
	</view>

return下面加上chartsData: {},

methods: {
			schoolChange(e) {
				const index = e.target.value
				this.before_school = this.schoolList[index].stationName
				this.sid = this.schoolList[index].id
				var dataNum = {
					Id: this.sid //后台的keyWord
				}
				let that = this;
				uni.request({
					url: '',
					data: dataNum,
					header: {
						'Content-type': 'application/x-www-form-urlencoded'
					},
					method: 'GET',
					success: (res) => {
	                 let linearareadata = {
							categories: [],
							series: [
								{
								// name: "成交量A",
								areaStyle: {
									color: {
										type: 'linear',
										color:"#0b2a63",
										x: 0,
										y: 0,
										x2: 0,
										y2: 1,
										colorStops: [{
											offset: 0,
											color: '#1890FF' // 0% 处的颜色
										}, {
											offset: 1,
											color: '#FFFFFF' // 100% 处的颜色
										}],
										global: false // 缺省为 false
									}
								},
								data: [],
							
							}]
						}
						for (var i = 0; i < res.data.result.length; i++) {
							linearareadata.categories.push(res.data.result[i].collectTime); //x轴
							linearareadata.series[0].data.push(res.data.result[i].paramterValue); //y轴
						}
						that.$forceUpdate();
						that.chartsData.Line3 = linearareadata
						that.$forceUpdate();
					}
				});
				
			},

			getServerData() {
				this.colunmdata = JSON.parse(JSON.stringify(demodata.Column));

				//因部分数据格式一样,这里不同图表引用同一数据源的话,需要深拷贝一下构造不同的对象
				//开发者需要自行处理服务器返回的数据,应与标准数据格式一致,注意series的data数值应为数字格式
				//***注意***我是为了演示数据看起来有条理,才把chartData挂载到一个对象中,您实际项目一定不要这么做,应该每个图形一个根节点属性,***例如上面this.colunmdata这种做法***
				this.chartsData.Pie1 = JSON.parse(JSON.stringify(demodata.PieA))
				this.chartsData.Pie2 = JSON.parse(JSON.stringify(demodata.PieA))
				this.chartsData.Pie3 = JSON.parse(JSON.stringify(demodata.PieA))
				this.chartsData.Pie4 = JSON.parse(JSON.stringify(demodata.PieA))
				this.chartsData.Line3 = JSON.parse(JSON.stringify(demodata.Line))
				this.chartsData.Line6 = JSON.parse(JSON.stringify(demodata.Line))
				this.chartsData.Line9 = JSON.parse(JSON.stringify(demodata.Line))

				//处理堆叠柱状图的series
				let duidie = JSON.parse(JSON.stringify(demodata.Column))
				for (var i = 0; i < duidie.series.length; i++) {
					duidie.series[i].stack = 'one'
					duidie.series[i].barWidth = '50%'
					duidie.series[i].label = {
						position: 'inside',
						color: '#FFFFFF'
					}
				}
				//这里需要注意,一定要定义一个临时的变量再统一赋值给chartData,否则chartData具有监听属性,只要有变化就会导致重新渲染
				this.chartsData.Column2 = duidie

				let areadata = JSON.parse(JSON.stringify(demodata.Line))
				areadata.series = areadata.series.reverse()
				this.chartsData.Line3 = areadata

				//渐变色区域图
				let linearareadata = {
					categories: [],
					series: [{
						// name: "成交量A",
						areaStyle: {
							color: {
								type: 'linear',
								x: 0,
								y: 0,
								x2: 0,
								y2: 1,
								colorStops: [{
									offset: 0,
									color: '#1890FF' // 0% 处的颜色
								}, {
									offset: 1,
									color: '#FFFFFF' // 100% 处的颜色
								}],
								global: false // 缺省为 false
							}
						},
						data: []
					}]
				}
				this.chartsData.Line3 = linearareadata
				console.log(this.chartsData.Line3)
				this.$forceUpdate();
			},
			complete(e) {
				console.log("渲染完成事件", e);
			},
			getIndex(e) {
				console.log("获取点击索引事件", e);
			}

总结

效果图来了:
在这里插入图片描述

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
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'这个样式需要有宽高
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值