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

uniapp使用ucharts组件

 1.ucharts准备

有两种使用方式:一种是在uni的插件市场下载(组件化开发)。一种是手动引入ucharts包。官方都封装好组件了,我们不用岂不是浪费。

直接去dcloud插件市场(DCloud 插件市场)找,第一个是ucharts,第二个是echarts。

不考虑小程序的话,echarts更好,功能丰富,文档工具免费。

ucharts体积要小非常多,但是工具要会员,差点意思,而且网传bug会多一点,但我没遇到。

ucharts文档:uCharts官网 - 秋云uCharts跨平台图表库

2.体积问题

ucharts的里static下放了echarts的文件,导致体积比较大,可以删了。忘了要不要改qiun-data-charts里的引入地址,如果要改的话项目会有报错提示。

以下酌情优化:

因为我的uni_modules里包比较多,导致主包体积有点大,所以我又将ucharts给提取到分包里,并且删除了不需要的文件。同时把qiun-data-charts里的引入地址改一下,注意有两处引入要改。

如果开发中不需要改u-charts源码的话,可以用u-charts.min.js,同样改一下上述引入地址,再把u-charts.js删了,体积会更小。

 3.使用

完整代码在下面,根据自己的理解写了点注释。

跟平常使用组件一样,如果没有像我一样把ucharts的提到分包,就不需要引入和定义,直接用。

ucharts把图表配置和渲染数据分开了,chartData里放渲染数据,opts里放图表配置。

type就是定义这是什么图标,柱状图,条形图之类的。

import qiunDataCharts from './components/qiun-data-charts/qiun-data-charts.vue';
components:{qiunDataCharts},
//==========================================
<view style="width:100%; height:280rpx;"><qiun-data-charts :chartData="chartData" background="none" type="bar" :opts="opts"/>
</view>

 

<template><view><view class="chart"><view class="chart-item"><view class="form-title">车间在制品</view><!-- 车间在制品 --><view class="board"><view style="width:100%; height:280rpx;"><qiun-data-charts :chartData="chartData" background="none" type="bar" :opts="opts"/></view></view></view><view class="chart-item"><view class="form-title">各工步在制品</view><!-- 各工步在制品 --><view class="board"><view style="width:100%; height:520rpx;"><qiun-data-charts :chartData="workData"background="none" type="column" :opts="workopt"/></view></view></view></view></view>
</template><script>import qiunDataCharts from './components/qiun-data-charts/qiun-data-charts.vue';export default {data() {return {chartData: {},opts: {},workData: {},workopt: {}};},components:{qiunDataCharts},onShow() {this.initWork()this.initCar()},methods: {// 工步initWork(){this.workData = {categories: ["自动焊接","系统返修","层压","层压测试","层压外观检","包装","装机"],series: [{name: "1车间",data: [35,36,31,33,13,34,14]},{name: "2车间",data: [18,27,21,24,6,28,37]},{name: "3车间",data: [18,27,21,24,6,28,23]},{name: "4车间",data: [18,27,21,24,6,28,19]}]},this.workopt = {color: ["#105fa3","#62bf8f","#c56d15","#c62d32","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],padding: [15,15,0,5],enableScroll: false,legend: {show: true,//显示说明文本块fontColor: "#ffffff",//说明文本块颜色},dataLabel: false,//柱状体上方不显示数字xAxis: {rotateLabel: true,rotateAngle: 50,lineHeight: 50,axisLineColor: '#ffffff',//轴线颜色fontColor: "#ffffff",//x轴刻字颜色disableGrid: true,// format: 'xAxisDemo3'},yAxis: {gridColor: "#ffffff",//横向网格线颜色data: [{axisLineColor: "#ffffff",//轴线颜色fontColor: "#ffffff",//y轴刻字颜色min: 0}]},extra: {column: {type: "group",width: 6,seriesGap: 2,//一个刻度中多个柱的间距activeBgColor: "#000000",activeBgOpacity: 0.08,}}}},// 车间initCar(){this.chartData = {categories: ["1车间","2车间","3车间","4车间"],series: [{name: "完成量",data: [38,47,51,24]}]},this.opts = {color: ["#1890FF","#91CB74"],padding: [15,30,0,5],enableScroll: false,legend: {fontColor: "#ffffff",//说明文本块颜色},dataLabel: false,//柱状体上方不显示数字xAxis: {axisLineColor: "#ffffff",//轴线颜色gridColor: "#ffffff",//纵坐标颜色fontColor: "#ffffff",//x轴刻字颜色boundaryGap: "justify",disableGrid: false,min: 0,axisLine: false,max: 80},yAxis: {data: [{type: 'categories',axisLineColor: "#ffffff",//轴线颜色fontColor: "#ffffff",//y轴刻字颜色}]},extra: {bar: {type: "group",width: 9,meterBorde: 1,meterFillColor: "#FFFFFF",activeBgColor: "#000000",activeBgOpacity: 0.08,linearType: "custom",barBorderCircle: true,seriesGap: 2,categoryGap: 2}}}},},}
</script><style lang="scss">
.chart{padding: 0 10rpx;background: #3a3d5c;.chart-item{margin: 8rpx 0;padding: 20rpx;background: #202437;}.form-title{margin: 10rpx 0 26rpx;font-size: 30rpx;color: #fff;text-align: center;}}
</style>


http://www.mrgr.cn/news/81928.html

相关文章:

  • 电商项目-数据同步解决方案(三)商品上架同步更新ES索引库
  • 我在广州学 Mysql 系列——插入、更新与删除数据详解以及实例
  • Vue异步处理、异步请求
  • AI安全的挑战:如何让人工智能变得更加可信
  • linux 批量替换文件指定字符串
  • LeetCode 热题 100_二叉树的直径(40_543_简单_C++)(二叉树;递归)
  • 云计算学习架构篇之HTTP协议、Nginx常用模块与Nginx服务实战
  • SOME/IP 协议详解——远程过程调用(RPC)
  • Netty网络模型
  • SCAU高程进阶题(自用)
  • 谷云科技数据集成社区焕新登场:功能、资源、会员权益全面升级
  • Metricbeat安装教程——Linux——Metricbeat监控ES集群
  • ensp、HCL环境部署vm版
  • RCCL/NCCL中的Transports方式选择:P2P or SHM or NET
  • java开发配置文件集合
  • 【数据结构】Trie字典树(前缀树)— 数组实现
  • 为什么选择 RAG 技术?开启 AI 2.0 应用开发的新时代
  • 【bluedroid】A2dp Source播放流程源码分析(4)
  • 隧道FM广播信号、隧道内调频广播信号覆盖方案选择
  • elasticsearch-java客户端jar包中各模块的应用梳理
  • 一文大白话讲清楚CSS盒子和盒子模型
  • 鸿蒙TCPSocket通信模拟智能家居模拟案例
  • python初学练习之基于文件操作的停车管理系统
  • 19.springcloud_openfeign之案例
  • Snowflake基础知识
  • WPF 绘制过顶点的圆滑曲线 (样条,贝塞尔)