使用秋云 ucharts echarts 高性能跨全端图表组件 流程

1. 2.

// 引入
import qiunDataCharts from '../../uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue'	

// 注册
components:{
	qiunDataCharts
},

// 页面中使用
<qiun-data-charts type="line" :opts="opts" :chartData="chartData" />

3. 卡卡复制 

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

<script>
export default {
  data() {
    return {
      chartData: {},
      //您可以通过修改 config-ucharts.js 文件中下标为 ['line'] 的节点来配置全局默认参数,如都是默认参数,此处可以不传 opts 。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式,达到页面简洁的需求。
      opts: {
        color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],
        padding: [15,10,0,15],
        enableScroll: false,
        legend: {},
        xAxis: {
          disableGrid: true
        },
        yAxis: {
          gridType: "dash",
          dashLength: 2
        },
        extra: {
          line: {
            type: "straight",
            width: 2,
            activeType: "hollow"
          }
        }
      }
    };
  },
  onReady() {
    this.getServerData();
  },
  methods: {
    getServerData() {
      //模拟从服务器获取数据时的延时
      setTimeout(() => {
        //模拟服务器返回数据,如果数据格式和标准格式不同,需自行按下面的格式拼接
        let res = {
            categories: ["2018","2019","2020","2021","2022","2023"],
            series: [
              {
                name: "成交量A",
                data: [35,8,25,37,4,20]
              },
              {
                name: "成交量B",
                data: [70,40,65,100,44,68]
              },
              {
                name: "成交量C",
                data: [100,80,95,150,112,132]
              }
            ]
          };
        this.chartData = JSON.parse(JSON.stringify(res));
      }, 500);
    },
  }
};
</script>

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

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'这个样式需要有宽高
### qiun-data-charts 文档、使用指南及官方教程 qiun-data-charts 是一款基于 UniApp 的高性能全端图表组件,支持多种图表类型(如折线图、柱状图、饼图等),并提供了丰富的配置选项以满足不同需求。以下是关于该组件的文档和使用指南的详细说明。 #### 1. 官方插件市场地址 官方插件市场是获取 qiun-data-charts 最新版本及相关文档的最佳途径。用户可以通过以下链接访问插件详情页面: - **DCloud 插件市场**: [秋云 ucharts echarts 高性能全端图表组件](https://ext.dcloud.net.cn/plugin?id=198) [^3] #### 2. 基本使用方法 在 UniApp 项目中引入并使用 qiun-data-charts 组件的基本步骤如下: - **引入组件** 在需要展示图表的页面中引入组件,并确保正确配置 `type` 和 `chartData` 属性。 ```vue <template> <view class="charts-box"> <qiun-data-charts type="line" :chartData="chartData" :opts="opts" :ontouch="true" :inScrollView="true" /> </view> </template> <script> export default { data() { return { chartData: { categories: ['2016', '2017', '2018', '2019', '2020', '2021'], series: [ { name: '目标值', data: [35, 36, 31, 33, 13, 34] }, { name: '完成量', data: [18, 27, 21, 24, 6, 28] } ] }, opts: { legend: { show: true, position: 'top' }, xAxis: { disableGrid: true }, yAxis: { gridType: 'solid', dashLength: 4 } } }; } }; </script> <style scoped> .charts-box { width: 100%; height: 300px; } </style> ``` #### 3. 图表配置详解 - **`type` 属性**: 指定图表类型,例如 `"line"` 表示折线图,`"column"` 表示柱状图 [^3]。 - **`chartData` 属性**: 包含图表所需的数据集,包括 `categories`(横坐标标签)和 `series`(数据系列)。数据格式需严格匹配组件要求 [^1]。 - **`opts` 属性**: 提供图表的样式和行为配置,例如图例位置、轴线样式等 [^4]。 - **`ontouch` 属性**: 控制图表是否响应触摸事件 [^4]。 - **`inScrollView` 属性**: 当图表嵌套在滚动视图中时,启用此属性可避免渲染问题 [^2]。 #### 4. 自定义样式与功能扩展 如果需要调整图表的默认样式或实现特定功能,可以通过修改 `opts` 对象实现。例如: - 调整图例显示位置:`opts.legend.position = 'bottom'` [^3]。 - 修改网格线样式:`opts.yAxis.gridType = 'dash'` 。 - 缩短折线图图例的线宽:通过自定义 CSS 或调整 `opts.legend` 中的相关参数 [^2]。 #### 5. 数据处理与动态更新 当后端返回的数据格式不符合组件要求时,需先对数据进行格式化处理。例如: ```javascript methods: { getServerData() { let res = this.$http.get('/api/data'); this.chartData = { categories: res.categories, series: [ { name: '今日功率', data: res.todayPower }, { name: '昨日功率', data: res.yesterdayPower } ] }; } } ``` 上述代码展示了如何将后端返回的数据转换为组件所需的格式 。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值