• 钉钉小程序----使用阿里的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>
  • 相关阅读:
    druid-1.0.13 数据库配置文件密码加密
    PostConstruct注解
    easyui formatter 返回easyui组件
    小师妹问 easyUI mergeCells 行合并后表头和内容对不齐
    Java Split以竖线作为分隔符
    Integer比较值的时候小心使用
    js 关键字 in
    Asp.net中防止用户多次登录的方法
    C#取得站点跟目录
    解读支付宝接口实现步骤
  • 原文地址:https://www.cnblogs.com/wgl0126/p/11535125.html
Copyright © 2020-2023  润新知