uni-app 使用uCharts-进行图表展示(折线图带单位)

这篇具有很好参考价值的文章主要介绍了uni-app 使用uCharts-进行图表展示(折线图带单位)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

  • 在uni-app经常是需要进行数据展示,针对这个情况也是有人开发好了第三方包,来兼容不同平台展示

  • uCharts和pc端的Echarts使用差不多,甚至会感觉在uni-app使用uCharts更轻便,更舒服

  • 但是这个第三方包有优点就会有缺点,还会有坑的地方下面我会一一讲解

uCharts使用-注意事项-和避坑

  • 首先我们在hb插件市场下载这个包时可能需要看一段广告......

  • 官方文档确实写的很清楚也很多,稍微适应一下就行了。但在线调试和定制需求是需要收费的

  • 这个组件在uni-app使用时,会受到定位,子绝父相,固定定位,隐藏等css属性影响,会导致显示正常,但是点击数据是没反应的,并且数据弹出框也是显示不出来的

  • 关于这个网上是说加一个canasid等,但并没有大作用,改源码的话不建议删代码,建议往上加

  • 在页面使用时,建议把每一个图标封装成全局组件(组件长宽100),在页面直接使用。

  • 每个图标padding属性很重要它可以是负值,从上 右 下 左 来帮助我们在父组件矫正布局

  • uCharts在示例里面各种图形数据格式-包括标题等,都不能修改它,只能像他看齐

  • x,y 轴单位x轴直接生效,y轴是需要开启才会生效,注意看文档

uCharts包地址

插件市场地址:秋云 ucharts echarts 高性能跨全端图表组件 - DCloud 插件市场

包文档地址:uCharts官网 - 秋云uCharts跨平台图表库

代码实现

1.来到插件市场-下载插件导入HBuilderX

2.来到全局组件components文件-右键新建组件-创建同名目录(很重要)创建scss命名failure-rate

代码如下-查看官方文档-注意宽高-100-使用父组件宽高

<template>
	<view style="width: 100% ;height: 100%">
		<qiun-data-charts type="line" :opts="calleqopts" :chartData="calleqdata" />
	</view>
</template>

<script>
	export default {
		name: "failure-rate",
		// 接受父组件传递数据
		props: ['data'],
		watch: {
			data: {
				deep: true,
				handler(newVal) {
					console.log('执行了', newVal);
					// 监听data的变化,数据变化时候更新图标
					// x轴数据
					this.categories = newVal.xdata
					// 数据
					this.calleqdata.series[0].name = newVal.series[0].name
					this.calleqdata.series[0].data = newVal.series[0].data
					this.calleqdata.series[1].name = newVal.series[1].name
					this.calleqdata.series[1].data = newVal.series[1].data
				}
			}
		},
		data() {
			return {
				// 报警故障配置
				calleqopts: {
					// 数据颜色
					color: ["#1890FF", "#ffc370", ],
					// 内边距-矫正父组件布局
					padding: [-5, 0, 0, -5],
					// 是否显示折线图每个节点数据
					dataLabel: false,
					// 是否在每个节点-显示节点
					dataPointShape: false,
					// 是否开启滚动条-配合x轴itemCount出现x轴滚动条
					enableScroll: false,
					// 图例配置
					legend: {
						// 把图例放在图表上方
						position: "top",
					},
					// x轴配置
					xAxis: {
						// 单位
						title: '日期',
						// 单位横移偏移量
						titleOffsetX: '-20',
						// 不绘制纵向网格
						disableGrid: true
					},
					// y轴配置
					yAxis: {
						// 虚线-实线
						gridType: "dash",
						// 虚线单位
						dashLength: 2,
						// 开启y轴单位
						showTitle: true,
						// y轴配置
						data: [{
							// 不写最大最小值-自增长
							// min: 0,
							// max: 150,
							// y轴单位
							title: '数量',
						}]
					},
					extra: {
						line: {
							// 曲线圆滑模式
							type: "curve",
							// 折线的宽度
							width: 2,
							// 点击弹出框时,节点样式
							activeType: "hollow",
							// 自定义渐变色
							linearType: "custom",
							// 开启阴影
							onShadow: true,
							// 水平动画
							animation: "horizontal"
						}
					}
				},
				// 报警故障数据
				calleqdata: {
					// x轴数据
					categories: [],
					// 表格数据 - 一个对象就是一个数据
					series: [{
							// 数据名
							name: "",
							// 数据渐变
							linearColor: [
								[
									0,
									"#1890FF"
								],
								[
									0.25,
									"#00B5FF"
								],
								[
									0.5,
									"#00D1ED"
								],
								[
									0.75,
									"#00E6BB"
								],
								[
									1,
									"#90F489"
								]
							],
							// 阴影部分
							setShadow: [
								3,
								8,
								10,
								"#1890FF"
							],
							// 数据量
							data: []
						},

						{
							name: "",
							linearColor: [
								[
									0,
									"#FAC858"
								],
								[
									0.33,
									"#FFC371"
								],
								[
									0.66,
									"#FFC2B2"
								],
								[
									1,
									"#FA7D8D"
								]
							],
							setShadow: [
								3,
								8,
								10,
								"#FC8452"
							],
							data: []
						}
					]
				},
			};
		},
	}
</script>

3.来到父组件使用-因为我们组件符合小程序规范-不用注册直接使用-代码如下

<template>
	<view class="failceshi">
		<i>折线图</i>
		<view class="failceshi-item">
			<failure-rate :data="calltendency" />
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				// 报警率趋势
				calltendency: {},
			};
		},
		onLoad() {
			// 模拟掉接口
			this.getcalltendency()
		},
		onReady() {
			// 模拟掉接口
			// this.getcalltendency()
		},
		methods: {
			getcalltendency() {
				console.log('发送数据');
				setTimeout(() => {
					let a = {
						xdata: ["2018", "2019", "2020", "2021", "2022", "2023"],
						series: [{
								name: '电话',
								data: [15, 45, 15, 45, 15, 45]
							},
							{
								name: '短信',
								data: [95, 125, 95, 125, 95, 125]
							}
						]
					}
					// 传递数据
					this.calltendency = a
					console.log('发送完毕');
				}, 2000)
			}
		}
	}
</script>

<style lang="scss">
	.failceshi {
		i {
			color: skyblue;
			font-weight: 700;
			font-size: 38rpx;
			margin-left: 50rpx;
		}

		.failceshi-item {
			width: 100vw;
			height: 400rpx;
		}
	}
</style>

4.调用接口传递真实数据-在子组件侦听传递过来的数据进行操作

uni-app 使用uCharts-进行图表展示(折线图带单位),uni-app

uni-app 使用uCharts-进行图表展示(折线图带单位),uni-app


总结:

经过这一趟流程下来相信你也对 uni-app 使用uCharts-进行图表展示(折线图带单位) 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

什么不足的地方请大家指出谢谢 -- 風过无痕文章来源地址https://www.toymoban.com/news/detail-701814.html

到了这里,关于uni-app 使用uCharts-进行图表展示(折线图带单位)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于uni-app中富文本展示,并可预览图片的实现

    这是一片记录 自己挖坑还有填坑 的过程 事情是这样的,我用uni-app框架编写了一个项目,里面有个功能是通过接口传过来的数据,展示页面,(富文本展示),一开始我是使用了uni-app自带的 rich-text 组件,但是项目上线测试时,没有 图片预览功能 ,所以我更换组件,使用

    2024年02月09日
    浏览(47)
  • uni-app开发壁纸图像小程序 瀑布流、懒加载展示

    标题:使用uni-app开发壁纸图像小程序:瀑布流与懒加载展示 引言: 在今天的移动应用市场中,壁纸图像小程序备受欢迎。为了提高用户体验,我们可以使用uni-app框架来开发这样的小程序,并实现瀑布流和懒加载展示功能。本文将介绍如何使用uni-app框架来开发壁纸图像小程

    2024年02月15日
    浏览(41)
  • uni-app动态tabBar,根据不同用户展示不同的tabBar

    因为我们用的是uni-app框架开发,所以在创建项目的时候直接创建uni-ui的项目即可,这个项目模板中自带了uni的一些好用的组件和api。 起初我想着这个效果不难实现,因为官方也有api可以直接使用,所以我最开始尝试就是使用uni的api完成,也就是这个 :uni.setTabBarItem(options) 我

    2024年02月09日
    浏览(50)
  • uni-app返回上一个页面并进行页面刷新

    适用两个不同的页面跳转,返回上一个页面保存并刷新修改后的数据(也解决了uni-app的navigateBack返回不刷新的方法之一) 当前页: 上一页: 思路: 1、用getCurrentPages()获取打开的页面 2、保存当前页面和上一个页面 提示:不确定是不是从当前页跳转到上一页就console.log(pages[pa

    2024年02月12日
    浏览(59)
  • uni-app通过wifi连接设备并进行命令交互

    前段时间公司让做一个通过手机连接硬件设备上的wifi,实现手机app和硬件设备的数据通讯。当时做的时候查相关资料比较少,担心以后遇到相似需求忘记具体细节,在这写一下记录一下。 一、具体情况 1. 手机连接设备wifi功能没有通过app重新开发,需要手动连接wifi。 2. 采用

    2024年02月12日
    浏览(62)
  • uni-app:对数组对象进行以具体某一项的分类处理

    这里定义为五个数组,种类product有aaa,bbb两种 原始数据在data中进行定义 注:使用了数组的 reduce() 方法来对 devices 数组进行循环遍历,并根据每个设备对象中的 product 值将其分类到一个以 product 为名称的数组中。 reduce() 方法接收一个回调函数和一个初始值作为参数。在这里,

    2024年02月07日
    浏览(54)
  • uni-app---- 点击按钮拨打电话功能&&点击按钮调用高德地图进行导航的功能【安卓app端】

    先上效果图: 1. 在封装方法的文件夹下新建一个js文件,然后把这些功能进行封装 2.在需要的页面中进行调用 注意点: 1. 拨打电话需要进行app权限配置,设置完成后可以在正式版看到效果。(这几个最好都勾选上) 2. 配置高德地图的app模块设置,这里的appkey需要到高德地图

    2024年02月05日
    浏览(73)
  • 小程序-uni-app:hbuildx uni-app 安装 uni-icons 及使用

    一、官方文档找到uni-icons uni-app官网 二、下载插件 三、点击“打开HBuildX” 四、选择要安装的项目 五、勾选要安装的插件 六、安装后,项目插件目录 根目录uni_modules目录下增加uni-icons、uni-scss 七、引入组件,使用组件 八、经过测试,成功。 参考链接 http://lihuaxi.xjx100.cn/new

    2024年02月12日
    浏览(58)
  • 【uni-app】uni-app中scroll-into-view的使用

    在使用的时候需要注意: 需要给sroll-view组件设置宽或者高(根据横纵情况) white-space:nowrap 这行代码让组件能够滑动(之前自己写的时候踩的坑) 使用 scroll-into-view ,需要开启动画效果,并且动态绑定的值必须是字符串 并且子组件的上绑定一个id值用于定位 以上就是今天要讲的内容,

    2024年02月11日
    浏览(49)
  • 小程序-uni-app:将页面(html+css)生成图片/海报/名片,进行下载 保存到手机

    一、需要描述 本文实现,uniapp微信小程序,把页面内容保存为图片,并且下载到手机上。 说实话网上找了很多资料,但是效果不理想,直到看了一个开源项目,我知道可以实现了。 本文以开源项目uniapp-wxml-to-canvas 为蓝本 记录集成的步骤,以供参考。 详细内容可以下载并启

    2024年02月07日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包