美文网首页
使用g2plot创建柱形图加折线

使用g2plot创建柱形图加折线

作者: 上海_前端_求内推 | 来源:发表于2021-06-28 15:57 被阅读0次

    1,首先引用g2plot.min.js
    2,相关代码如下
    3,value的值必须是int或者float类型,字符串和%数据无法成功

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <script type="text/javascript" src="g2plot.min.js"></script>
    </head>
    <body>
        <div id="container"></div>
    </body>
    <script>
     // const { Line } = G2Plot;
       const { DualAxes } = G2Plot;
    </script>
    <script type="text/javascript">
    
    var aa={"dataList":"[{\"XAxis\":\"DX\",\"R1\":\"4\",\"R2\":\"20\",\"R3\":\"114\",\"R4\":\"5\",\"HospitalCode\":\"01\"},{\"XAxis\":\"CT平扫\",\"R1\":\"32\",\"R2\":\"98\",\"R3\":\"130\",\"R4\":\"8\",\"HospitalCode\":\"01\"},{\"XAxis\":\"CT增强\",\"R1\":\"8\",\"R2\":\"8\",\"R3\":\"16\",\"R4\":\"3\",\"HospitalCode\":\"01\"},{\"XAxis\":\"MR平扫\",\"R1\":\"3\",\"R2\":\"99\",\"R3\":\"202\",\"R4\":\"7\",\"HospitalCode\":\"01\"},{\"XAxis\":\"MR增强\",\"R1\":\"1\",\"R2\":\"66\",\"R3\":\"783\",\"R4\":\"3\",\"HospitalCode\":\"01\"}]","DataCode":"002401","SqlStr":"SELECT [XAxis],[R1],[R2],[R3],[R4],[HospitalCode] FROM OP_Ris_Table  WHERE HospitalCode =\u002701\u0027  ","success":true,"msg":"获取成功"}
    let ComprehensivetableList= JSON.parse(aa.dataList)
        var tableList1 = [];
        var tableList2 = [];
        var tableList3 = [];
        var tableList4 = [];
        var tableList5 = [];
        ComprehensivetableList.forEach((it, inx) => {
                        let item1={}
                        let item2={}
                         let item3={}
                          let item4={}
                        
                        item1.time=it.XAxis
                        item1.item="预约人次"
                        item1.value= parseInt(it.R1)  
                       
                      
                        item2.time=it.XAxis
                          item2.item="完成人次"
                        item2.value= parseInt(it.R2)  
                        
                        item4.time=it.XAxis
                       
                        item4.count=parsefloat(it.R4)  
                               tableList1.push(item1,item2)
                               tableList2.push(item1,item2) 
                               tableList3.push(item1,item2)
                               tableList5.push(item4)
                           }) 
         tableList4.push(tableList1,tableList2,tableList3)      
         console.log(tableList4)  
            console.log(tableList5)   
     
    
    
    
    
    const uvBillData =tableList4[0]
    
    // [
    
    
    
    //   { time: '2019-04', value: 900, item: 'uv' },
    //   { time: '2019-05', value: 300, item: 'uv' },
    //   { time: '2019-06', value: 450, item: 'uv' },
    //   { time: '2019-07', value: 470, item: 'uv' },
     
    //   { time: '2019-04', value: 300, item: 'bill' },
    //   { time: '2019-05', value: 250, item: 'bill', },
    //   { time: '2019-06', value: 220, item: 'bill', },
    //   { time: '2019-07', value: 362, item: 'bill', },
    // ];
    
    
    
    const transformData = tableList5
    
    // [
    
    //   { time: '2019-04', count: 30 },
    //   { time: '2019-05', count: 12 },
    //   { time: '2019-06', count: 40 },
    //   { time: '2019-07', count: 15 },
    // ];
    
    const dualAxes = new DualAxes('container', {
      data: [uvBillData, transformData],
      xField: 'time',
      yField: ['value', 'count'],
      geometryOptions: [
        {
          geometry: 'column',
          isGroup: true,
          seriesField: 'item',
          columnWidthRatio: 0.4,
          label: {},
          color: ['#023AFF', '#FFA63F'],
        },
        {
          geometry: 'line',
          color: '#5AD8A6',
        },
      ],
      legend: {
        custom: true,
        position: 'top',
        items: [
          {
            value: '预约人次',
            name: '预约人次',
            marker: { symbol: 'square', style: { fill: '#023AFF', r: 5 } },
          },
          {
            value: '完成人次',
            name: '完成人次',
            marker: { symbol: 'square', style: { fill: '#FFA63F', r: 5 } },
          },
          // {
          //   value: 'count',
          //   name: '平均等待时间',
          //   marker: { symbol: 'square', style: { fill: '#5AD8A6', r: 5 } },
          // },
        ],
      },
    });
    
    dualAxes.render();
    
    </script>
    </html>
    

    相关文章

      网友评论

          本文标题:使用g2plot创建柱形图加折线

          本文链接:https://www.haomeiwen.com/subject/cgzwyltx.html