zoukankan      html  css  js  c++  java
  • 钉钉小程序----使用阿里的F2图表

    在钉钉小程序中使用F2的图表遇见很多问题

    不能点击或者点击错乱的问题还没有解决,因为我解决不了。。。。。。。。。。。。。。。。。。。。。。。。。。。

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    渲染问题:一个图表大一个图表小的问题,setData是异步机制,因此每次在渲染数据的时候先设置宽高,完了再setData的回调里面再去执行其他。

    找到安装的模块下f2,改变源码,如下图。

    2.图表使用的例子

    在js中

    Component({
      data:{
        chartDataNew1: [{
            title: '掘进',
            ring: '163',
            value: 16
          }, {
            title: '掘进',
            ring: '175',
            value: 26
          }, {
            title: '停机',
            ring: '163',
            value: 16
          }, {
            title: '停机',
            ring: '175',
            value: 26
          }, {
            title: '拼环',
            ring: '163',
            value: 36
          }, {
            title: '拼环',
            ring: '185',
            value: 25
          }, {
            title: '停机',
            ring: '185',
            value: 25
          }, {
            title: '停机',
            ring: '195',
            value: 25
          }, {
            title: '拼环',
            ring: '195',
            value: 25
          }, {
            title: '拼环',
            ring: '275',
            value: 25
          }, {
            title: '拼环',
            ring: '275',
            value: 25
          }, {
            title: '拼环',
            ring: '375',
            value: 25
          }, {
            title: '拼环',
            ring: '375',
            value: 25
          }, {
            title: '拼环',
            ring: '475',
            value: 25
          }, {
            title: '停机',
            ring: '475',
            value: 25
          }
        ],
        chartDataNew: [
          {
            name: '推进',
            percent: 0.6,
            a: '1'
          }, {
            name: '拼装',
            percent: 0.4,
            a: '1'
          }, {
            name: '辅助',
            percent: 0.1,
            a: '1'
          }, {
            name: '故障',
            percent: 0.3,
            a: '1'
          }, {
            name: '其他',
            percent: 0.2,
            a: '1'
          }
        ],
        map: {
          '推进': '60%',
          '拼装': '40%',
          '辅助': '10%',
          '故障': '30%',
          '其他': '20%',
        },
      },
      methods: {
        // 图表1
        onDraw(ddChart) {
          //dd-charts组件内部会回调此方法,返回图表实例ddChart
          //提示:可以把异步获取数据及渲染图表逻辑放onDraw回调里面
          ddChart.clear()
          let chartDataNew = this.data.chartDataNew
          let map = this.data.map
          ddChart.source(chartDataNew, {
            percent: {
              formatter: function formatter(val) {
                return val * 100 + '%';
              }
            }
          })
          ddChart.legend({
            position: 'top',
            align: 'center',
            itemFormatter: function itemFormatter(val) {
              return val + '  ' + map[val];
            }
          })
          ddChart.tooltip(false)
          ddChart.coord('polar', {
            transposed: true,
            radius: 1.9
          })
          ddChart.axis(false);
          ddChart.interval().position('a*percent').color('name', ['#61E2C4', '#52AAFE', '#A0AEFA', '#F38E68', '#868B96 ']).adjust('stack').style({
            lineWidth: 1,
            stroke: '#fff',
            lineJoin: 'round',
            lineCap: 'round'
          }).animate({
            appear: {
              duration: 1200,
              easing: 'bounceOut'
            }
          })
          ddChart.render();
        },
        // 图表2
        onDraw1(ddChart) {
          //dd-charts组件内部会回调此方法,返回图表实例ddChart
          //提示:可以把异步获取数据及渲染图表逻辑放onDraw回调里面
          ddChart.clear()
          let chartDataNew = this.data.chartDataNew1
          ddChart.scale({
            ring: {
              range: [0.05, 1]
            }
          })
          ddChart.source(chartDataNew, {
            title: {
              min: 0,
              formatter: function formatter(val) {
                return val;
              }
            }
          })
          ddChart.interval().position('ring*value').color('title').adjust('stack');
          ddChart.render();
        },
      }  
    })

    在axml中

    <dd-charts canvasId="ddchart-dom-bar" onDraw="onDraw"></dd-charts>
    <dd-charts canvasId="ddchart-dom-bar1" onDraw="onDraw1"></dd-charts>
  • 相关阅读:
    《区块链100问》第33集:在交易平台投资区块链资产
    Python学习(三)数组属性方法总结
    Python学习(二)Numpy学习
    数学之美 第2章 自然语言处理:从规则到统计
    数学之美 第1章 文字和语言 vs 数字和信息
    Python学习(一)基础知识
    Python使用技巧(不定期更新)
    玩转Git三剑客——04. 创建第一个仓库并配置local用户信息、05. 通过几次commit来认识工作区和暂存区
    玩转Git三剑客——02. 安装Git、03. 使用Git之前需要做的最小配置
    玩转Git三剑客——01. 课程综述
  • 原文地址:https://www.cnblogs.com/wgl0126/p/11535125.html
Copyright © 2011-2022 走看看