zoukankan      html  css  js  c++  java
  • 23、Echarts拓扑图、D3拓扑图

    <!DOCTYPE html>
    <html lang='en'>
    <head>
      <meta charset='UTF-8'>
      <title></title>
      <script src='https://cdn.bootcss.com/echarts/3.7.1/echarts.js'></script>
    </head>
    <body>
      <div style='height:100px;'> 
        <div>需求:在Echarts中,图例的说明文字分左右两段,左段左对齐,右段右对齐</div>
        <div>实现:</div>
        <div>在HTML中,黑体、楷体、宋体,这3种字体严格遵守“汉字占2个字符宽、字母占1个字符宽”,其它的字体不行</div>
        <div>通过计算,找出说明文字最长的项,然后计算其它各项与这项的差值,并用相应的多个汉字空格和一个英文空格插入说明文字中间</div> 
        <div>例如formatter函数里用name+u3000+u3000+u3000+u0020+percent</div> 
      </div>
      <div id='myEchartsId' style='height:900px;'></div>
    </body>
    
    </html>
    <script type='text/javascript'>
      var myEcharts = echarts.init(document.getElementById('myEchartsId'));
      myEcharts.hideLoading();
      var graph = makeData();
      var categories = [];
      for (var i = 0; i < 9; i++) {
        categories[i] = {
          name: '类目' + i
        };
      }
      graph.nodes.forEach(function (node) {
        node.itemStyle = null;
        node.value = node.symbolSize;
        node.symbolSize /= 1.5;
        node.label = {
          normal: {
            show: node.symbolSize > 10
          }
        };
        //node.category = node.attributes.modularity_class; 
      });
      myEchartsOption = {
        title: {
          text: 'Les Miserables',
          subtext: 'Circular layout',
          top: 'bottom',
          left: 'right'
        },
        tooltip: {},
        legend: [{
          textStyle: {
            color: 'red',
            fontStyle: 'normal',
            fontFamily: '宋体'
          },
          // selectedMode: 'single',
          data: categories.map(function (a) {
            return a.name;
          })
        }],
        animationDurationUpdate: 1500,
        animationEasingUpdate: 'quinticInOut',
        series: [
          {
            name: 'Les Miserables',
            type: 'graph',
            layout: 'circular',
            circular: {
              rotateLabel: true
            },
            data: graph.nodes,
            links: graph.links,
            categories: categories,
            roam: true,
            label: {
              normal: {
                position: 'right',
                formatter: '{b}'
              }
            },
            lineStyle: {
              normal: {
                color: 'source',
                curveness: 0.3
              }
            }
          }
        ]
      };
      myEcharts.setOption(myEchartsOption);
      myEcharts.on('click',function(event){
        console.log(event)
      })
      function makeData() {
        var nodes = [
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "0",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Myriel",
            symbolSize: 19.12381,
            value: 28.685715,
            x: -266.82776,
            y: 299.6904
          },
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "1",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Napoleon",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -418.08344,
            y: 446.8853
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "2",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MlleBaptistine",
            symbolSize: 6.323809333333333,
            value: 9.485714,
            x: -212.76357,
            y: 245.29176
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "3",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MmeMagloire",
            symbolSize: 6.323809333333333,
            value: 9.485714,
            x: -242.82404,
            y: 235.26283
          },
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "4",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "CountessDeLo",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -379.30386,
            y: 429.06424
          },
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "5",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Geborand",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -417.26337,
            y: 406.03506
          },
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "6",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Champtercier",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -332.6012,
            y: 485.16974
          },
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "7",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Cravatte",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -382.69568,
            y: 475.09113
          },
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "8",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Count",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -320.384,
            y: 387.17325
          },
          {
            attributes: { modularity_class: 0 },
            category: 0,
            id: "9",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "OldMan",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -344.39832,
            y: 451.16772
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "10",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Labarre",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -89.34107,
            y: 234.56128
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "11",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Valjean",
            symbolSize: 66.66666666666667,
            value: 100,
            x: -87.93029,
            y: -6.8120565
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "12",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Marguerite",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: -339.77908,
            y: -184.69139
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "13",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MmeDeR",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -194.31313,
            y: 178.55301
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "14",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Isabeau",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -158.05168,
            y: 201.99768
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "15",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Gervais",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -127.701546,
            y: 242.55057
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "16",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Tholomyes",
            symbolSize: 17.295237333333333,
            value: 25.942856,
            x: -385.2226,
            y: -393.5572
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "17",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Listolier",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: -516.55884,
            y: -393.98975
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "18",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Fameuil",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: -464.79382,
            y: -493.57944
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "19",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Blacheville",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: -515.1624,
            y: -456.9891
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "20",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Favourite",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: -408.12122,
            y: -464.5048
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "21",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Dahlia",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: -456.44113,
            y: -425.13303
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "22",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Zephine",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: -459.1107,
            y: -362.5133
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "23",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Fantine",
            symbolSize: 28.266666666666666,
            value: 42.4,
            x: -313.42786,
            y: -289.44803
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "24",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "MmeThenardier",
            symbolSize: 20.95238266666667,
            value: 31.428574,
            x: 4.6313396,
            y: -273.8517
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "25",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Thenardier",
            symbolSize: 30.095235333333335,
            value: 45.142853,
            x: 82.80825,
            y: -203.1144
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "26",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Cosette",
            symbolSize: 20.95238266666667,
            value: 31.428574,
            x: 78.64646,
            y: -31.512747
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "27",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Javert",
            symbolSize: 31.923806666666668,
            value: 47.88571,
            x: -81.46074,
            y: -204.20204
          },
          {
            attributes: { modularity_class: 4 },
            category: 4,
            id: "28",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Fauchelevent",
            symbolSize: 8.152382000000001,
            value: 12.228573,
            x: -225.73984,
            y: 82.41631
          },
          {
            attributes: { modularity_class: 3 },
            category: 3,
            id: "29",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Bamatabois",
            symbolSize: 15.466666666666667,
            value: 23.2,
            x: -385.6842,
            y: -20.206686
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "30",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Perpetue",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: -403.92447,
            y: -197.69823
          },
          {
            attributes: { modularity_class: 2 },
            category: 2,
            id: "31",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Simplice",
            symbolSize: 8.152382000000001,
            value: 12.228573,
            x: -281.4253,
            y: -158.45137
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "32",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Scaufflaire",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -122.41348,
            y: 210.37503
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "33",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Woman1",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: -234.6001,
            y: -113.15067
          },
          {
            attributes: { modularity_class: 3 },
            category: 3,
            id: "34",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Judge",
            symbolSize: 11.809524666666666,
            value: 17.714287,
            x: -387.84915,
            y: 58.7059
          },
          {
            attributes: { modularity_class: 3 },
            category: 3,
            id: "35",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Champmathieu",
            symbolSize: 11.809524666666666,
            value: 17.714287,
            x: -338.2307,
            y: 87.48405
          },
          {
            attributes: { modularity_class: 3 },
            category: 3,
            id: "36",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Brevet",
            symbolSize: 11.809524666666666,
            value: 17.714287,
            x: -453.26874,
            y: 58.94648
          },
          {
            attributes: { modularity_class: 3 },
            category: 3,
            id: "37",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Chenildieu",
            symbolSize: 11.809524666666666,
            value: 17.714287,
            x: -386.44904,
            y: 140.05937
          },
          {
            attributes: { modularity_class: 3 },
            category: 3,
            id: "38",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Cochepaille",
            symbolSize: 11.809524666666666,
            value: 17.714287,
            x: -446.7876,
            y: 123.38005
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "39",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Pontmercy",
            symbolSize: 6.323809333333333,
            value: 9.485714,
            x: 336.49738,
            y: -269.55914
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "40",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Boulatruelle",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: 29.187843,
            y: -460.13132
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "41",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Eponine",
            symbolSize: 20.95238266666667,
            value: 31.428574,
            x: 238.36697,
            y: -210.00926
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "42",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Anzelma",
            symbolSize: 6.323809333333333,
            value: 9.485714,
            x: 189.69513,
            y: -346.50662
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "43",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Woman2",
            symbolSize: 6.323809333333333,
            value: 9.485714,
            x: -187.00418,
            y: -145.02663
          },
          {
            attributes: { modularity_class: 4 },
            category: 4,
            id: "44",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MotherInnocent",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: -252.99521,
            y: 129.87549
          },
          {
            attributes: { modularity_class: 4 },
            category: 4,
            id: "45",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Gribier",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: -296.07935,
            y: 163.11964
          },
          {
            attributes: { modularity_class: 5 },
            category: 5,
            id: "46",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Jondrette",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: 550.3201,
            y: 522.4031
          },
          {
            attributes: { modularity_class: 5 },
            category: 5,
            id: "47",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MmeBurgon",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: 488.13535,
            y: 356.8573
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "48",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Gavroche",
            symbolSize: 41.06667066666667,
            value: 61.600006,
            x: 387.89572,
            y: 110.462326
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "49",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Gillenormand",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: 126.4831,
            y: 68.10622
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "50",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Magnon",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: 127.07365,
            y: -113.05923
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "51",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "MlleGillenormand",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: 162.63559,
            y: 117.6565
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "52",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MmePontmercy",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: 353.66415,
            y: -205.89165
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "53",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MlleVaubois",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: 165.43939,
            y: 339.7736
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "54",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "LtGillenormand",
            symbolSize: 8.152382000000001,
            value: 12.228573,
            x: 137.69348,
            y: 196.1069
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "55",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Marius",
            symbolSize: 35.58095333333333,
            value: 53.37143,
            x: 206.44687,
            y: -13.805411
          },
          {
            attributes: { modularity_class: 6 },
            category: 6,
            id: "56",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "BaronessT",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: 194.82993,
            y: 224.78036
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "57",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Mabeuf",
            symbolSize: 20.95238266666667,
            value: 31.428574,
            x: 597.6618,
            y: 135.18481
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "58",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Enjolras",
            symbolSize: 28.266666666666666,
            value: 42.4,
            x: 355.78366,
            y: -74.882454
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "59",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Combeferre",
            symbolSize: 20.95238266666667,
            value: 31.428574,
            x: 515.2961,
            y: -46.167564
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "60",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Prouvaire",
            symbolSize: 17.295237333333333,
            value: 25.942856,
            x: 614.29285,
            y: -69.3104
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "61",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Feuilly",
            symbolSize: 20.95238266666667,
            value: 31.428574,
            x: 550.1917,
            y: -128.17537
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "62",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Courfeyrac",
            symbolSize: 24.609526666666667,
            value: 36.91429,
            x: 436.17184,
            y: -12.7286825
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "63",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Bahorel",
            symbolSize: 22.780953333333333,
            value: 34.17143,
            x: 602.55225,
            y: 16.421427
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "64",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Bossuet",
            symbolSize: 24.609526666666667,
            value: 36.91429,
            x: 455.81955,
            y: -115.45826
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "65",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Joly",
            symbolSize: 22.780953333333333,
            value: 34.17143,
            x: 516.40784,
            y: 47.242233
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "66",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Grantaire",
            symbolSize: 19.12381,
            value: 28.685715,
            x: 646.4313,
            y: -151.06331
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "67",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "MotherPlutarch",
            symbolSize: 2.6666666666666665,
            value: 4,
            x: 668.9568,
            y: 204.65488
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "68",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Gueulemer",
            symbolSize: 19.12381,
            value: 28.685715,
            x: 78.4799,
            y: -347.15146
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "69",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Babet",
            symbolSize: 19.12381,
            value: 28.685715,
            x: 150.35959,
            y: -298.50797
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "70",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Claquesous",
            symbolSize: 19.12381,
            value: 28.685715,
            x: 137.3717,
            y: -410.2809
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "71",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Montparnasse",
            symbolSize: 17.295237333333333,
            value: 25.942856,
            x: 234.87747,
            y: -400.85983
          },
          {
            attributes: { modularity_class: 1 },
            category: 1,
            id: "72",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Toussaint",
            symbolSize: 6.323809333333333,
            value: 9.485714,
            x: 40.942253,
            y: 113.78272
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "73",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Child1",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: 437.939,
            y: 291.58234
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "74",
            itemStyle: null,
            label: { normal: { show: false } },
            name: "Child2",
            symbolSize: 4.495239333333333,
            value: 6.742859,
            x: 466.04922,
            y: 283.3606
          },
          {
            attributes: { modularity_class: 7 },
            category: 7,
            id: "75",
            itemStyle: null,
            label: { normal: { show: true } },
            name: "Brujon",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: 238.79364,
            y: -314.06345
          },
          {
            attributes: { modularity_class: 8 },
            category: 8,
            id: "76",
            itemStyle: null,
            label: { normal: { show: true } }
          },
          {
            name: "MmeHucheloup",
            symbolSize: 13.638097333333334,
            value: 20.457146,
            x: 712.18353,
            y: 4.8131495
          },
        ];
        var links = [
          { id: "0", name: null, source: "1", target: "0", lineStyle: { normal: {} } },
          { id: "1", name: null, source: "2", target: "0", lineStyle: { normal: {} } },
          { id: "2", name: null, source: "3", target: "0", lineStyle: { normal: {} } },
          { id: "3", name: null, source: "3", target: "2", lineStyle: { normal: {} } },
          { id: "4", name: null, source: "4", target: "0", lineStyle: { normal: {} } },
          { id: "5", name: null, source: "5", target: "0", lineStyle: { normal: {} } },
          { id: "6", name: null, source: "6", target: "0", lineStyle: { normal: {} } },
          { id: "7", name: null, source: "7", target: "0", lineStyle: { normal: {} } },
          { id: "8", name: null, source: "8", target: "0", lineStyle: { normal: {} } },
          { id: "9", name: null, source: "9", target: "0", lineStyle: { normal: {} } },
          { id: "13", name: null, source: "11", target: "0", lineStyle: { normal: {} } },
          { id: null, name: null, source: "11", target: "2", lineStyle: { normal: {} } },
          { id: "11", name: null, source: "11", target: "3", lineStyle: { normal: {} } },
          { id: "10", name: null, source: "11", target: "10", lineStyle: { normal: {} } },
          { id: "14", name: null, source: "12", target: "11", lineStyle: { normal: {} } },
          { id: "15", name: null, source: "13", target: "11", lineStyle: { normal: {} } },
          { id: "16", name: null, source: "14", target: "11", lineStyle: { normal: {} } },
          { id: "17", name: null, source: "15", target: "11", lineStyle: { normal: {} } },
          { id: "18", name: null, source: "17", target: "16", lineStyle: { normal: {} } },
          { id: "19", name: null, source: "18", target: "16", lineStyle: { normal: {} } },
          { id: "20", name: null, source: "18", target: "17", lineStyle: { normal: {} } },
          { id: "21", name: null, source: "19", target: "16", lineStyle: { normal: {} } },
          { id: "22", name: null, source: "19", target: "17", lineStyle: { normal: {} } },
          { id: "23", name: null, source: "19", target: "18", lineStyle: { normal: {} } },
          { id: "24", name: null, source: "20", target: "16", lineStyle: { normal: {} } },
          { id: "25", name: null, source: "20", target: "17", lineStyle: { normal: {} } },
          { id: "26", name: null, source: "20", target: "18", lineStyle: { normal: {} } },
          { id: "27", name: null, source: "20", target: "19", lineStyle: { normal: {} } },
          { id: "28", name: null, source: "21", target: "16", lineStyle: { normal: {} } },
          { id: "29", name: null, source: "21", target: "17", lineStyle: { normal: {} } },
          { id: "30", name: null, source: "21", target: "18", lineStyle: { normal: {} } },
          { id: "31", name: null, source: "21", target: "19", lineStyle: { normal: {} } },
          { id: "32", name: null, source: "21", target: "20", lineStyle: { normal: {} } },
          { id: "33", name: null, source: "22", target: "16", lineStyle: { normal: {} } },
          { id: "34", name: null, source: "22", target: "17", lineStyle: { normal: {} } },
          { id: "35", name: null, source: "22", target: "18", lineStyle: { normal: {} } },
          { id: "36", name: null, source: "22", target: "19", lineStyle: { normal: {} } },
          { id: "37", name: null, source: "22", target: "20", lineStyle: { normal: {} } },
          { id: "38", name: null, source: "22", target: "21", lineStyle: { normal: {} } },
          { id: "47", name: null, source: "23", target: "11", lineStyle: { normal: {} } },
          { id: "46", name: null, source: "23", target: "12", lineStyle: { normal: {} } },
          { id: "39", name: null, source: "23", target: "16", lineStyle: { normal: {} } },
          { id: "40", name: null, source: "23", target: "17", lineStyle: { normal: {} } },
          { id: "41", name: null, source: "23", target: "18", lineStyle: { normal: {} } },
          { id: "42", name: null, source: "23", target: "19", lineStyle: { normal: {} } },
          { id: "43", name: null, source: "23", target: "20", lineStyle: { normal: {} } },
          { id: "44", name: null, source: "23", target: "21", lineStyle: { normal: {} } },
          { id: "45", name: null, source: "23", target: "22", lineStyle: { normal: {} } },
          { id: null, name: null, source: "24", target: "11", lineStyle: { normal: {} } },
          { id: "48", name: null, source: "24", target: "23", lineStyle: { normal: {} } },
          { id: "52", name: null, source: "25", target: "11", lineStyle: { normal: {} } },
          { id: "51", name: null, source: "25", target: "23", lineStyle: { normal: {} } },
          { id: "50", name: null, source: "25", target: "24", lineStyle: { normal: {} } },
          { id: null, name: null, source: "26", target: "11", lineStyle: { normal: {} } },
          { id: null, name: null, source: "26", target: "16", lineStyle: { normal: {} } },
          { id: "53", name: null, source: "26", target: "24", lineStyle: { normal: {} } },
          { id: "56", name: null, source: "26", target: "25", lineStyle: { normal: {} } },
          { id: "57", name: null, source: "27", target: "11", lineStyle: { normal: {} } },
          { id: "58", name: null, source: "27", target: "23", lineStyle: { normal: {} } },
          { id: null, name: null, source: "27", target: "24", lineStyle: { normal: {} } },
          { id: "59", name: null, source: "27", target: "25", lineStyle: { normal: {} } },
          { id: "61", name: null, source: "27", target: "26", lineStyle: { normal: {} } },
          { id: "62", name: null, source: "28", target: "11", lineStyle: { normal: {} } },
          { id: "63", name: null, source: "28", target: "27", lineStyle: { normal: {} } },
          { id: "66", name: null, source: "29", target: "11", lineStyle: { normal: {} } },
          { id: "64", name: null, source: "29", target: "23", lineStyle: { normal: {} } },
          { id: "65", name: null, source: "29", target: "27", lineStyle: { normal: {} } },
          { id: "67", name: null, source: "30", target: "23", lineStyle: { normal: {} } },
          { id: null, name: null, source: "31", target: "11", lineStyle: { normal: {} } },
          { id: null, name: null, source: "31", target: "23", lineStyle: { normal: {} } },
          { id: null, name: null, source: "31", target: "27", lineStyle: { normal: {} } },
          { id: "68", name: null, source: "31", target: "30", lineStyle: { normal: {} } },
          { id: "72", name: null, source: "32", target: "11", lineStyle: { normal: {} } },
          { id: "73", name: null, source: "33", target: "11", lineStyle: { normal: {} } },
          { id: "74", name: null, source: "33", target: "27", lineStyle: { normal: {} } },
          { id: "75", name: null, source: "34", target: "11", lineStyle: { normal: {} } },
          { id: "76", name: null, source: "34", target: "29", lineStyle: { normal: {} } },
          { id: "77", name: null, source: "35", target: "11", lineStyle: { normal: {} } },
          { id: null, name: null, source: "35", target: "29", lineStyle: { normal: {} } },
          { id: "78", name: null, source: "35", target: "34", lineStyle: { normal: {} } },
          { id: "82", name: null, source: "36", target: "11", lineStyle: { normal: {} } },
          { id: "83", name: null, source: "36", target: "29", lineStyle: { normal: {} } },
          { id: "80", name: null, source: "36", target: "34", lineStyle: { normal: {} } },
          { id: "81", name: null, source: "36", target: "35", lineStyle: { normal: {} } },
          { id: "87", name: null, source: "37", target: "11", lineStyle: { normal: {} } },
          { id: "88", name: null, source: "37", target: "29", lineStyle: { normal: {} } },
          { id: "84", name: null, source: "37", target: "34", lineStyle: { normal: {} } },
          { id: "85", name: null, source: "37", target: "35", lineStyle: { normal: {} } },
          { id: "86", name: null, source: "37", target: "36", lineStyle: { normal: {} } },
          { id: "93", name: null, source: "38", target: "11", lineStyle: { normal: {} } },
          { id: "94", name: null, source: "38", target: "29", lineStyle: { normal: {} } },
          { id: "89", name: null, source: "38", target: "34", lineStyle: { normal: {} } },
          { id: "90", name: null, source: "38", target: "35", lineStyle: { normal: {} } },
          { id: "91", name: null, source: "38", target: "36", lineStyle: { normal: {} } },
          { id: "92", name: null, source: "38", target: "37", lineStyle: { normal: {} } },
          { id: "95", name: null, source: "39", target: "25", lineStyle: { normal: {} } },
          { id: "96", name: null, source: "40", target: "25", lineStyle: { normal: {} } },
          { id: "97", name: null, source: "41", target: "24", lineStyle: { normal: {} } },
          { id: "98", name: null, source: "41", target: "25", lineStyle: { normal: {} } },
          { id: "101", name: null, source: "42", target: "24", lineStyle: { normal: {} } },
          { id: "100", name: null, source: "42", target: "25", lineStyle: { normal: {} } },
          { id: "99", name: null, source: "42", target: "41", lineStyle: { normal: {} } },
          { id: "102", name: null, source: "43", target: "11", lineStyle: { normal: {} } },
          { id: "103", name: null, source: "43", target: "26", lineStyle: { normal: {} } },
          { id: "104", name: null, source: "43", target: "27", lineStyle: { normal: {} } },
          { id: null, name: null, source: "44", target: "11", lineStyle: { normal: {} } },
          { id: "105", name: null, source: "44", target: "28", lineStyle: { normal: {} } },
          { id: "107", name: null, source: "45", target: "28", lineStyle: { normal: {} } },
          { id: "108", name: null, source: "47", target: "46", lineStyle: { normal: {} } },
          { id: "112", name: null, source: "48", target: "11", lineStyle: { normal: {} } },
          { id: "110", name: null, source: "48", target: "25", lineStyle: { normal: {} } },
          { id: "111", name: null, source: "48", target: "27", lineStyle: { normal: {} } },
          { id: "109", name: null, source: "48", target: "47", lineStyle: { normal: {} } },
          { id: null, name: null, source: "49", target: "11", lineStyle: { normal: {} } },
          { id: "113", name: null, source: "49", target: "26", lineStyle: { normal: {} } },
          { id: null, name: null, source: "50", target: "24", lineStyle: { normal: {} } },
          { id: "115", name: null, source: "50", target: "49", lineStyle: { normal: {} } },
          { id: "119", name: null, source: "51", target: "11", lineStyle: { normal: {} } },
          { id: "118", name: null, source: "51", target: "26", lineStyle: { normal: {} } },
          { id: "117", name: null, source: "51", target: "49", lineStyle: { normal: {} } },
          { id: null, name: null, source: "52", target: "39", lineStyle: { normal: {} } },
          { id: "120", name: null, source: "52", target: "51", lineStyle: { normal: {} } },
          { id: "122", name: null, source: "53", target: "51", lineStyle: { normal: {} } },
          { id: "125", name: null, source: "54", target: "26", lineStyle: { normal: {} } },
          { id: "124", name: null, source: "54", target: "49", lineStyle: { normal: {} } },
          { id: "123", name: null, source: "54", target: "51", lineStyle: { normal: {} } },
          { id: "131", name: null, source: "55", target: "11", lineStyle: { normal: {} } },
          { id: "132", name: null, source: "55", target: "16", lineStyle: { normal: {} } },
          { id: "133", name: null, source: "55", target: "25", lineStyle: { normal: {} } },
          { id: null, name: null, source: "55", target: "26", lineStyle: { normal: {} } },
          { id: "128", name: null, source: "55", target: "39", lineStyle: { normal: {} } },
          { id: "134", name: null, source: "55", target: "41", lineStyle: { normal: {} } },
          { id: "135", name: null, source: "55", target: "48", lineStyle: { normal: {} } },
          { id: "127", name: null, source: "55", target: "49", lineStyle: { normal: {} } },
          { id: "126", name: null, source: "55", target: "51", lineStyle: { normal: {} } },
          { id: "129", name: null, source: "55", target: "54", lineStyle: { normal: {} } },
          { id: "136", name: null, source: "56", target: "49", lineStyle: { normal: {} } },
          { id: "137", name: null, source: "56", target: "55", lineStyle: { normal: {} } },
          { id: null, name: null, source: "57", target: "41", lineStyle: { normal: {} } },
          { id: null, name: null, source: "57", target: "48", lineStyle: { normal: {} } },
          { id: "138", name: null, source: "57", target: "55", lineStyle: { normal: {} } },
          { id: "145", name: null, source: "58", target: "11", lineStyle: { normal: {} } },
          { id: null, name: null, source: "58", target: "27", lineStyle: { normal: {} } },
          { id: "142", name: null, source: "58", target: "48", lineStyle: { normal: {} } },
          { id: "141", name: null, source: "58", target: "55", lineStyle: { normal: {} } },
          { id: "144", name: null, source: "58", target: "57", lineStyle: { normal: {} } },
          { id: "148", name: null, source: "59", target: "48", lineStyle: { normal: {} } },
          { id: "147", name: null, source: "59", target: "55", lineStyle: { normal: {} } },
          { id: null, name: null, source: "59", target: "57", lineStyle: { normal: {} } },
          { id: "146", name: null, source: "59", target: "58", lineStyle: { normal: {} } },
          { id: "150", name: null, source: "60", target: "48", lineStyle: { normal: {} } },
          { id: "151", name: null, source: "60", target: "58", lineStyle: { normal: {} } },
          { id: "152", name: null, source: "60", target: "59", lineStyle: { normal: {} } },
          { id: "153", name: null, source: "61", target: "48", lineStyle: { normal: {} } },
          { id: "158", name: null, source: "61", target: "55", lineStyle: { normal: {} } },
          { id: "157", name: null, source: "61", target: "57", lineStyle: { normal: {} } },
          { id: "154", name: null, source: "61", target: "58", lineStyle: { normal: {} } },
          { id: "156", name: null, source: "61", target: "59", lineStyle: { normal: {} } },
          { id: "155", name: null, source: "61", target: "60", lineStyle: { normal: {} } },
          { id: "164", name: null, source: "62", target: "41", lineStyle: { normal: {} } },
          { id: "162", name: null, source: "62", target: "48", lineStyle: { normal: {} } },
          { id: "159", name: null, source: "62", target: "55", lineStyle: { normal: {} } },
          { id: null, name: null, source: "62", target: "57", lineStyle: { normal: {} } },
          { id: "160", name: null, source: "62", target: "58", lineStyle: { normal: {} } },
          { id: "161", name: null, source: "62", target: "59", lineStyle: { normal: {} } },
          { id: null, name: null, source: "62", target: "60", lineStyle: { normal: {} } },
          { id: "165", name: null, source: "62", target: "61", lineStyle: { normal: {} } },
          { id: null, name: null, source: "63", target: "48", lineStyle: { normal: {} } },
          { id: "174", name: null, source: "63", target: "55", lineStyle: { normal: {} } },
          { id: null, name: null, source: "63", target: "57", lineStyle: { normal: {} } },
          { id: null, name: null, source: "63", target: "58", lineStyle: { normal: {} } },
          { id: "167", name: null, source: "63", target: "59", lineStyle: { normal: {} } },
          { id: null, name: null, source: "63", target: "60", lineStyle: { normal: {} } },
          { id: "172", name: null, source: "63", target: "61", lineStyle: { normal: {} } },
          { id: "169", name: null, source: "63", target: "62", lineStyle: { normal: {} } },
          { id: "184", name: null, source: "64", target: "11", lineStyle: { normal: {} } },
          { id: null, name: null, source: "64", target: "48", lineStyle: { normal: {} } },
          { id: "175", name: null, source: "64", target: "55", lineStyle: { normal: {} } },
          { id: "183", name: null, source: "64", target: "57", lineStyle: { normal: {} } },
          { id: "179", name: null, source: "64", target: "58", lineStyle: { normal: {} } },
          { id: "182", name: null, source: "64", target: "59", lineStyle: { normal: {} } },
          { id: "181", name: null, source: "64", target: "60", lineStyle: { normal: {} } },
          { id: "180", name: null, source: "64", target: "61", lineStyle: { normal: {} } },
          { id: "176", name: null, source: "64", target: "62", lineStyle: { normal: {} } },
          { id: "178", name: null, source: "64", target: "63", lineStyle: { normal: {} } },
          { id: "187", name: null, source: "65", target: "48", lineStyle: { normal: {} } },
          { id: "194", name: null, source: "65", target: "55", lineStyle: { normal: {} } },
          { id: "193", name: null, source: "65", target: "57", lineStyle: { normal: {} } },
          { id: null, name: null, source: "65", target: "58", lineStyle: { normal: {} } },
          { id: "192", name: null, source: "65", target: "59", lineStyle: { normal: {} } },
          { id: null, name: null, source: "65", target: "60", lineStyle: { normal: {} } },
          { id: "190", name: null, source: "65", target: "61", lineStyle: { normal: {} } },
          { id: "188", name: null, source: "65", target: "62", lineStyle: { normal: {} } },
          { id: "185", name: null, source: "65", target: "63", lineStyle: { normal: {} } },
          { id: "186", name: null, source: "65", target: "64", lineStyle: { normal: {} } },
          { id: "200", name: null, source: "66", target: "48", lineStyle: { normal: {} } },
          { id: "196", name: null, source: "66", target: "58", lineStyle: { normal: {} } },
          { id: "197", name: null, source: "66", target: "59", lineStyle: { normal: {} } },
          { id: "203", name: null, source: "66", target: "60", lineStyle: { normal: {} } },
          { id: "202", name: null, source: "66", target: "61", lineStyle: { normal: {} } },
          { id: "198", name: null, source: "66", target: "62", lineStyle: { normal: {} } },
          { id: "201", name: null, source: "66", target: "63", lineStyle: { normal: {} } },
          { id: "195", name: null, source: "66", target: "64", lineStyle: { normal: {} } },
          { id: "199", name: null, source: "66", target: "65", lineStyle: { normal: {} } },
          { id: "204", name: null, source: "67", target: "57", lineStyle: { normal: {} } },
          { id: null, name: null, source: "68", target: "11", lineStyle: { normal: {} } },
          { id: null, name: null, source: "68", target: "24", lineStyle: { normal: {} } },
          { id: "205", name: null, source: "68", target: "25", lineStyle: { normal: {} } },
          { id: "208", name: null, source: "68", target: "27", lineStyle: { normal: {} } },
          { id: null, name: null, source: "68", target: "41", lineStyle: { normal: {} } },
          { id: "209", name: null, source: "68", target: "48", lineStyle: { normal: {} } },
          { id: "213", name: null, source: "69", target: "11", lineStyle: { normal: {} } },
          { id: "214", name: null, source: "69", target: "24", lineStyle: { normal: {} } },
          { id: "211", name: null, source: "69", target: "25", lineStyle: { normal: {} } },
          { id: null, name: null, source: "69", target: "27", lineStyle: { normal: {} } },
          { id: "217", name: null, source: "69", target: "41", lineStyle: { normal: {} } },
          { id: "216", name: null, source: "69", target: "48", lineStyle: { normal: {} } },
          { id: "212", name: null, source: "69", target: "68", lineStyle: { normal: {} } },
          { id: "221", name: null, source: "70", target: "11", lineStyle: { normal: {} } },
          { id: "222", name: null, source: "70", target: "24", lineStyle: { normal: {} } },
          { id: "218", name: null, source: "70", target: "25", lineStyle: { normal: {} } },
          { id: "223", name: null, source: "70", target: "27", lineStyle: { normal: {} } },
          { id: "224", name: null, source: "70", target: "41", lineStyle: { normal: {} } },
          { id: "225", name: null, source: "70", target: "58", lineStyle: { normal: {} } },
          { id: "220", name: null, source: "70", target: "68", lineStyle: { normal: {} } },
          { id: "219", name: null, source: "70", target: "69", lineStyle: { normal: {} } },
          { id: "230", name: null, source: "71", target: "11", lineStyle: { normal: {} } },
          { id: "233", name: null, source: "71", target: "25", lineStyle: { normal: {} } },
          { id: "226", name: null, source: "71", target: "27", lineStyle: { normal: {} } },
          { id: "232", name: null, source: "71", target: "41", lineStyle: { normal: {} } },
          { id: null, name: null, source: "71", target: "48", lineStyle: { normal: {} } },
          { id: "228", name: null, source: "71", target: "68", lineStyle: { normal: {} } },
          { id: "227", name: null, source: "71", target: "69", lineStyle: { normal: {} } },
          { id: "229", name: null, source: "71", target: "70", lineStyle: { normal: {} } },
          { id: "236", name: null, source: "72", target: "11", lineStyle: { normal: {} } },
          { id: "234", name: null, source: "72", target: "26", lineStyle: { normal: {} } },
          { id: "235", name: null, source: "72", target: "27", lineStyle: { normal: {} } },
          { id: "237", name: null, source: "73", target: "48", lineStyle: { normal: {} } },
          { id: "238", name: null, source: "74", target: "48", lineStyle: { normal: {} } },
          { id: "239", name: null, source: "74", target: "73", lineStyle: { normal: {} } },
          { id: "242", name: null, source: "75", target: "25", lineStyle: { normal: {} } },
          { id: "244", name: null, source: "75", target: "41", lineStyle: { normal: {} } },
          { id: null, name: null, source: "75", target: "48", lineStyle: { normal: {} } },
          { id: "241", name: null, source: "75", target: "68", lineStyle: { normal: {} } },
          { id: "240", name: null, source: "75", target: "69", lineStyle: { normal: {} } },
          { id: "245", name: null, source: "75", target: "70", lineStyle: { normal: {} } },
          { id: "246", name: null, source: "75", target: "71", lineStyle: { normal: {} } },
          { id: "252", name: null, source: "76", target: "48", lineStyle: { normal: {} } },
          { id: "253", name: null, source: "76", target: "58", lineStyle: { normal: {} } },
          { id: "251", name: null, source: "76", target: "62", lineStyle: { normal: {} } },
          { id: "250", name: null, source: "76", target: "63", lineStyle: { normal: {} } },
          { id: "247", name: null, source: "76", target: "64", lineStyle: { normal: {} } },
          { id: "248", name: null, source: "76", target: "65", lineStyle: { normal: {} } },
          { id: "249", name: null, source: "76", target: "66", lineStyle: { normal: {} } },
        ];
        return {
          nodes: nodes,
          links: links
        }
      }
    </script>
     二、D3拓扑图
    
    <!DOCTYPE html>
    <meta charset="utf-8">
    <title>Radial Dendrogram</title>
    <link rel="stylesheet" type="text/css" href="https://unpkg.com/@observablehq/notebook-inspector@1/dist/notebook-inspector-style.css">
    <body>
     <div id="console" style=" 100%;"></div> 
    </body>
    </html>
    <script type="module">
      import { Inspector, Runtime } from "https://unpkg.com/@observablehq/notebook-runtime@1?module";
      // URL: https://observablehq.com/@13716164418/radial-dendrogram
      const m0 = {
        id: "myId",
        variables: [
          {
            inputs: ["md"],
            value: (function (md) {
              return md`# Radial Dendrogram`
            })
          },
          {
            name: "chart",
            inputs: ["tree", "d3", "data", "DOM", "width"],
            value: (function (tree, d3, data, DOM, width) {
              const root = tree(d3.hierarchy(data)
                .sort((a, b) => (a.height - b.height) || a.data.name.localeCompare(b.data.name)));
              const svg = d3.select(DOM.svg(width, width))
                .style("width", "100%")
                .style("height", "auto")
                .style("padding", "10px")
                .style("box-sizing", "border-box")
                .style("font", "10px sans-serif");
              const g = svg.append("g");
              const link = g.append("g")
                .attr("fill", "none")
                .attr("stroke", "#555")
                .attr("stroke-opacity", 0.4)
                .attr("stroke-width", 1.5)
                .selectAll("path")
                .data(root.links())
                .enter().append("path")
                .attr("d", d3.linkRadial().angle(d => d.x).radius(d => d.y));
              const node = g.append("g")
                .attr("stroke-linejoin", "round")
                .attr("stroke-width", 3)
                .selectAll("g")
                .data(root.descendants().reverse())
                .enter().append("g")
                .attr("transform", d => `rotate(${d.x * 180 / Math.PI - 90}) translate(${d.y},0)`);
              node.append("circle")
                .attr("fill", d => d.children ? "#555" : "#999")
                .attr("r", 2.5);
              node.append("text")
                .attr("dy", "0.31em")
                .attr("x", d => d.x < Math.PI === !d.children ? 6 : -6)
                .attr("text-anchor", d => d.x < Math.PI === !d.children ? "start" : "end")
                .attr("transform", d => d.x >= Math.PI ? "rotate(180)" : null)
                .text(d => d.data.name)
                .filter(d => d.children)
                .clone(true).lower()
                .attr("stroke", "white");
              document.body.appendChild(svg.node());
              const box = g.node().getBBox();
              svg.remove()
                .attr("width", box.width)
                .attr("height", box.height)
                .attr("viewBox", `${box.x} ${box.y} ${box.width} ${box.height}`);
              return svg.node();
            })
          },
          {
            name: "data",
            inputs: ["require"],
            value: (function (require) {
              return require("@observablehq/flare")
            })
          },
          {
            name: "width",
            value: (function () {
              return 932
            })
          },
          {
            name: "radius",
            inputs: ["width"],
            value: (function (width) {
              return width / 2
            })
          },
          {
            name: "tree",
            inputs: ["d3", "radius"],
            value: (function (d3, radius) {
              return d3.cluster().size([2 * Math.PI, radius - 100])
            })
          },
          {
            name: "d3",
            inputs: ["require"],
            value: (function (require) {
              return require("d3@5")
            })
          }
        ]
      };
      const notebook = {
        id: "myId",
        modules: [m0]
      };
      export default notebook;
      Runtime.load(notebook, Inspector.into(document.getElementById("console")));
    </script>
  • 相关阅读:
    通用分页后台显示
    自定义的JSP标签
    Java反射机制
    Java虚拟机栈---本地方法栈
    XML建模实列
    XML解析与xml和Map集合的互转
    [离散数学]第二次作业
    [线性代数]2016.10.13作业
    [数字逻辑]第二次作业
    [线性代数]2016.9.26作业
  • 原文地址:https://www.cnblogs.com/gushixianqiancheng/p/15250598.html
Copyright © 2011-2022 走看看