uniapp基于u-grid-item九宫格实现uCharts秋云图表展示

uniapp基于uView的UI组件u-grid-item九宫格实现uCharts秋云可视化图表展示

这里使用uView的u-grid-item九宫格组件去显示图标排列

在这里插入图片描述

九宫格可以做成多列,移动设备上可以通过左右滑动进行展示

在这里插入图片描述

<template>
	<div>
		<div style="text-align: center;font-size: 20px;padding: 40px 0px;">可视化图表</div>
		<swiper class="swiper">
			<swiper-item>
				<u-grid :col="3" @click="toEchartsInfo()" hover-class="hover-class">
					<u-grid-item v-for="(item, index) in listIcon" :index="index" :key="index">
						<img :src="item.img" class="iconImg"></img>
						<text class="grid-text">{{item.name}}</text>
					</u-grid-item>
				</u-grid>
			</swiper-item>
			<swiper-item>
				<u-grid :col="3" @click="toEchartsItem()">
					<u-grid-item v-for="(item, index) in listList" :index="index" :key="index">
						<img :src="item.img"  class="iconImg"></img>
						<text class="grid-text">{{item.name}}</text>
					</u-grid-item>
				</u-grid>
			</swiper-item>
		</swiper>
	</div>
</template>

<script>
	export default {
		data() {
			return {
				current: 0,
				listIcon: [
					{name:'进度条',img:'../../static/echartsicon/arcbar.jpeg'},
					{name:'区域图',img:'../../static/echartsicon/area.jpeg'},
					{name:'条状图',img:'../../static/echartsicon/bar.jpeg'},
					{name:'气泡图',img:'../../static/echartsicon/bubble.jpeg'},
					{name:'K线图',img:'../../static/echartsicon/candle.jpeg'},
					{name:'柱状图',img:'../../static/echartsicon/column.jpeg'},
					{name:'漏斗图',img:'../../static/echartsicon/funnel.jpeg'},
					{name:'仪表盘',img:'../../static/echartsicon/gauge.jpeg'},
					{name:'折线图',img:'../../static/echartsicon/line.jpeg'},
				],
				listList: [
					{name:'地图',img:'../../static/echartsicon/map.jpeg'},
				    {name:'混合图',img:'../../static/echartsicon/mix.jpeg'},
				    {name:'山峰图',img:'../../static/echartsicon/mount.jpeg'},
					{name:'饼状图',img:'../../static/echartsicon/pie.jpeg'},
					{name:'雷达图',img:'../../static/echartsicon/radar.jpeg'},
					{name:'圆环图',img:'../../static/echartsicon/ring.jpeg'},
					{name:'玫瑰图',img:'../../static/echartsicon/rose.jpeg'},
					{name:'散点图',img:'../../static/echartsicon/scatter.jpeg'},
					{name:'云词图',img:'../../static/echartsicon/word.jpeg'},
				],
			};
		},
		methods: {
			toEchartsInfo(index){
				if(index==0){
					this.$u.route('/pages/echartsShow/echartsArcbar')
				}else if(index==1){
					this.$u.route('/pages/echartsShow/echartsArea')
				}else if(index==2){
					this.$u.route('/pages/echartsShow/echartsBar')
				}else if(index==3){
					this.$u.route('/pages/echartsShow/echartsBubble')
				}else if(index==4){
					this.$u.route('/pages/echartsShow/echartsCandle')
				}else if(index==5){
					this.$u.route('/pages/echartsShow/echartsColumn')
				}else if(index==6){
					this.$u.route('/pages/echartsShow/echartsFunnel')
				}else if(index==7){
					this.$u.route('/pages/echartsShow/echartsGauge')
				}else if(index==8){
					this.$u.route('/pages/echartsShow/echartsLine')
				}
			},
			toEchartsItem(index){
				if(index==0){
					this.$u.route('/pages/echartsShow/echartsMap')
				}else if(index==1){
					this.$u.route('/pages/echartsShow/echartsMix')
				}else if(index==2){
					this.$u.route('/pages/echartsShow/echartsMount')
				}else if(index==3){
					this.$u.route('/pages/echartsShow/echartsPie')
				}else if(index==4){
					this.$u.route('/pages/echartsShow/echartsRadar')
				}else if(index==5){
					this.$u.route('/pages/echartsShow/echartsRing')
				}else if(index==6){
					this.$u.route('/pages/echartsShow/echartsRose')
				}else if(index==7){
					this.$u.route('/pages/echartsShow/echartsScatter')
				}else if(index==8){
					this.$u.route('/pages/echartsShow/echartsWord')
				}
			}
		}
	};
</script>

<style>
	/* 下方这些scss变量为uView内置变量,详见开发  组件-指南-内置样式 */

	.grid-text {
		font-size: 28rpx;
		margin-top: 4rpx;
		color: $u-type-info;
	}
	
	.swiper {
		height: 100vh;
	}
	
	.indicator-dots {
		margin-top: 40rpx;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.indicator-dots-item {
		background-color: $u-tips-color;
		height: 6px;
		width: 6px;
		border-radius: 10px;
		margin: 0 3px;
	}
	
	.indicator-dots-active {
		background-color: $u-type-primary;
	}
	.iconImg{
		width: 90px;
		height: 80px;
	}
</style>

进度条详情展示

在这里插入图片描述

这里需要注意一下uCharts的组件使用,需要先安装组件插件或者自己去插件社区下载一个插件包,然后放到这个目录下就可以使用了,在页面里面使用标签通过设置type属性值区分图表类别,opts设置图表基本设置属性,chartData设置图表数据。

在这里插入图片描述

<template>
  <view class="charts-box">
    <qiun-data-charts 
      type="arcbar"
      :opts="opts"
      :chartData="chartData"
    />
  </view>
</template>

<script>
export default {
  data() {
    return {
      chartData: {},
      //您可以通过修改 config-ucharts.js 文件中下标为 ['arcbar'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
      opts: {
        color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],
        padding: undefined,
        title: {
          name: "指标",
          fontSize: 35,
          color: "#1890ff"
        },
        subtitle: {
          name: "默认标题",
          fontSize: 15,
          color: "#666666"
        },
        extra: {
          arcbar: {
            type: "circle",
            width: 12,
            backgroundColor: "#E9E9E9",
            startAngle: 1.5,
            endAngle: 0.25,
            gap: 2
          }
        }
      }
    };
  },
  onReady() {
    this.getServerData();
  },
  methods: {
    getServerData() {
      //模拟从服务器获取数据时的延时
      setTimeout(() => {
        //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
        let res = {
            series: [
              {
                name: "一班",
                data: 0.8
              },
              {
                name: "二班",
                data: 0.6
              },
              {
                name: "三班",
                data: 0.45
              },
              {
                name: "四班",
                data: 0.3
              },
              {
                name: "五班",
                data: 0.15
              }
            ]
          };
        this.chartData = JSON.parse(JSON.stringify(res));
      }, 500);
    },
  }
};
</script>

<style scoped>
  /* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
  .charts-box {
	margin-top: 25%;
    width: 100%;
    height: 300px;
  }
</style>

柱状图详情展示

在这里插入图片描述

<template>
  <view class="charts-box">
    <qiun-data-charts 
      type="bar"
      :opts="opts"
      :chartData="chartData"
    />
  </view>
</template>

<script>
export default {
  data() {
    return {
      chartData: {},
      //您可以通过修改 config-ucharts.js 文件中下标为 ['bar'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
      opts: {
        color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],
        padding: [15,30,0,5],
        enableScroll: false,
        legend: {},
        xAxis: {
          boundaryGap: "justify",
          disableGrid: false,
          min: 0,
          axisLine: false,
          max: 40
        },
        yAxis: {},
        extra: {
          bar: {
            type: "group",
            width: 30,
            meterBorde: 1,
            meterFillColor: "#FFFFFF",
            activeBgColor: "#000000",
            activeBgOpacity: 0.08,
            linearType: "custom",
            barBorderCircle: true,
            seriesGap: 2,
            categoryGap: 2
          }
        }
      }
    };
  },
  onReady() {
    this.getServerData();
  },
  methods: {
    getServerData() {
      //模拟从服务器获取数据时的延时
      setTimeout(() => {
        //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
        let res = {
            categories: ["2018","2019","2020","2021","2022","2023"],
            series: [
              {
                name: "目标值",
                data: [35,36,31,33,13,34]
              },
              {
                name: "完成量",
                data: [18,27,21,24,6,28]
              }
            ]
          };
        this.chartData = JSON.parse(JSON.stringify(res));
      }, 500);
    },
  }
};
</script>

<style scoped>
  /* 请根据实际需求修改父元素尺寸,组件自动识别宽高 */
  .charts-box {
	margin-top: 25%;
    width: 100%;
    height: 300px;
  }
</style>

下面就是选取几种图形展示详情效果就不一一介绍代码了,详细的用法大家可以去秋云uCharts官网https://www.ucharts.cn/v2/#/demo/index

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/221467.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

报错:Parsed mapper file: ‘file mapper.xml

报错 &#xff1a; Logging initialized using class org.apache.ibatis.logging.stdout.StdOutImpl adapter. Registered plugin: com.github.yulichang.interceptor.MPJInterceptor3b2c8bda Parsed mapper file: file [/Mapper.xml] application无法启动 我这边产生原因是项…

python socket编程7 - 使用PyQt6 开发UI界面新增实现UDP server和client单机通讯的例子

在第五篇中&#xff0c;简单实现了命令行下的 TCP/UDP server和client的单机通讯。 在第六篇中&#xff0c;实现了PyQt6开发界面&#xff0c;TCP协议实现的单机server和client的通讯功能。 这一篇&#xff0c;在第六篇的基础上&#xff0c;增加了UDP server和client的单机通讯功…

我在USC南加大学游戏:真实经历/录取作品集_RoSSo艺术留学

近日&#xff0c;美国Common App最新早申统计数据&#xff1a;早申人数与疫情前相比增加了41%&#xff01;专注于国际艺术教育的RoSSo也发现&#xff0c;2022-2023申请季提交早申的学生中&#xff0c;各类热门院校以及艺术留学专业申请人数均是“涨”声一片&#xff01; 图源官…

30、pytest入门内容回顾

整体结构 解读与实操 pytest30讲主要从四个方面由浅入深的进行解读&#xff0c; 开始 讲解了pytest的概述&#xff0c;安装前的准备工作&#xff08;python,pycharm,pytest&#xff09;&#xff0c;运行方式&#xff08;命令行&#xff09;&#xff0c;断言&#xff08;assert…

Linux(统信UOS) 发布.Net Core,并开启Https,绑定证书

实际开发中&#xff0c;有时会需要为小程序或者需要使用https的应用提供API接口服务&#xff0c;这就需要为.Net Core 配置https&#xff0c;配置起来很简单&#xff0c;只需要在配置文件appsettings.json中添加下面的内容即可 "Kestrel": {"Endpoints": …

nodejs+vue+微信小程序+python+PHP天天网站书城管理系统的设计与实现-计算机毕业设计推荐

本项目主要分为前台模块与后台模块2个部分&#xff0c;详细描述如下&#xff1a;   &#xff08;1&#xff09;前台模块 首页: 首页可以起到导航的作用&#xff0c;用户想要了解网站 &#xff0c;网站首页为用户可以深入了解网站提供了一个平台&#xff0c;它就向一个“导游”…

Bionorica成功完成SAP S/4HANA升级 提升医药制造业务效率

企业如何成功地将其现有的ERP ECC系统转换升级到SAP S/4HANA&#xff0c; 并挖掘相关潜力来推动其数字化战略&#xff1f;Bionorica应用SNP软件实施了实时ERP套件&#xff0c;为进一步的增长和未来的创新奠定了基础。 草药市场的领导者&#xff1a;Bionorica Bionorica是世界领…

数据挖掘 分类模型选择

选择的模型有&#xff1a; 决策树、朴素贝叶斯、K近邻、感知机 调用的头文件有&#xff1a; import numpy as np import pandas as pd from matplotlib import pyplot as plt from sklearn.linear_model import Perceptron from sklearn.naive_bayes import GaussianNB from s…

软件测试面试题解析--什么题是必问的?

设计测试用例的主要方法有哪些&#xff1f;简述一下缺陷的生命周期&#xff1f;测试流程&#xff1f;项目流程&#xff1f;验收测试中和β测试区别&#xff1f;如何维护测试用例&#xff1f;每天测多少用例怎么分配的测试的一天能找多少bug你在上一家公司&#xff0c;写没写过测…

github首次将文件合到远端分支,发现名字不是master,而是main

暂存区和本地仓库的信息都存储在.git目录中其中 其中&#xff0c;暂存区和本地仓库的信息都存储在.git目录中 在自己的github上实践 1、刚开始&#xff0c;git clone gitgithub.com:lingze8678/my_github.git到本地 2、在克隆后的代码中加入一个pdf文件 3、在git bash中操作…

基本网络安全概述:保护您的数字生活

数字时代给我们的生活带来了无与伦比的连通性和便利&#xff0c;但也带来了新的威胁和漏洞。随着我们越来越依赖技术&#xff0c;网络安全概述的重要性怎么强调都不为过。在这篇文章中&#xff0c;我们将深入探讨网络安全的重要性、其关键组成部分、最佳实践、常见威胁以及该领…

WeakMap

WeakMap简介 作为es6一种新的数据结构&#xff0c;他是一种键值对的集合。与Map最大的区别有两个 1. 是其中的键必须是对象或非全局注册的符号。 全局注册的符号 const s1 Symbol.for(mySymbol) 非全局注册的符号 const s1 Symbol(mySymbol)了解Symbol.for 2. 不会创建对它…

Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析

附件下载 联系工作人员获取附件 本文是 3 篇系列文章的一部分&#xff0c;该系列文章将讨论智能手机镜头模组设计的挑战&#xff0c;从概念、设计到制造和结构变形的分析。本文是三部分系列的第三部分。它涵盖了使用 Ansys Zemax OpticStudio Enterprise 版本提供的 STAR 技术…

ATECLOUD电源自动测试系统打破传统 助力新能源汽车电源测试

随着新能源汽车市场的逐步扩大&#xff0c;技术不断完善提升&#xff0c;新能源汽车测试变得越来越复杂&#xff0c;测试要求也越来越严格。作为新能源汽车的关键部件之一&#xff0c;电源为各个器件和整个电路提供稳定的电源&#xff0c;满足需求&#xff0c;确保新能源汽车的…

Homework 3: Higher-Order Functions, Self Reference, Recursion, Tree Recursion

Q1: Compose 编写一个高阶函数composer&#xff0c;它返回两个函数func和func_adder。 func是一个单参数函数&#xff0c;它应用到目前为止已经组合的所有函数。这些函数将首先应用最新的函数&#xff08;参见doctests和示例&#xff09;。 func_adder用于向我们的组合添加更多…

ESP32-Web-Server编程-在网页中插入图片

ESP32-Web-Server编程-在网页中插入图片 概述 图胜与言&#xff0c;在网页端显示含义清晰的图片&#xff0c;可以使得内容更容易理解。 需求及功能解析 本节演示在 ESP32 Web 服务器上插入若干图片。在插入图片时还可以对图片设置一个超链接&#xff0c;用户点击该图片时&a…

统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量

说在前面 在软件开发领域&#xff0c;了解项目的代码规模和复杂度对于项目管理、团队协作以及技术评估都至关重要。通过统计项目代码行数&#xff0c;我们能够更好地把握项目的整体情况&#xff0c;包括但不限于代码量的大小、不同类型文件的分布情况以及项目的结构和复杂度。这…

数据结构之选择排序

目录 直接选择排序 选择排序的时间复杂度 堆排序 向上调整算法 向下调整算法 向上调整算法建立堆 向下调整算法建立堆 堆排序整体代码 堆排序的时间复杂度 直接选择排序 在之前讲插入排序时&#xff0c;我们讲了这样的一个应用场景&#xff0c;我们在斗地主摸牌时&…

CoreDNS实战(十一)-分流与重定向

本文主要介绍了目前CoreDNS服务在外部域名递归结果过程中出现的一些问题以及使用dnsredir插件进行分流和alternate插件进行重试优化的操作。 1 自建DNS服务现状 一般来说&#xff0c;无论是bind9、coredns、dnsmasq、pdns哪类dns服务器&#xff0c;我们自建的监听在UDP53端口…

【已解决】页内切换<router-view>使得url变化导致菜单高亮消失

在写项目时&#xff0c;我们常会用到侧边菜单栏&#xff0c;而具体页面中经常使用<router-view>切换子组件。 但是按照我们平时的写法&#xff0c;切换子组件后会导致url改变&#xff0c;从而使得菜单高亮消失&#xff0c;这是非常影响用户体验的。 所以&#xff0c;我…