echarts制作关系图谱

2023-09-20 15:09:07
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>ECharts</title>
  <!-- 引入刚刚下载的 ECharts 文件 -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/echarts/5.4.3/echarts.min.js"></script>
</head>
<body>
<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
<div id="main" style="width: 100%;height:100vh;"></div>
<script type="text/javascript">

  const data = {
    'nodes': [
      { id: '0', name: 'Myriel', category: 0 },
      { id: '1', name: 'Napoleon', category: 0 },
      { id: '2', name: 'MlleBaptistine', category: 1 },
      { id: '3', name: 'MmeMagloire', category: 1 },
      { id: '4', name: 'CountessDeLo', category: 0 },
      { id: '5', name: 'Geborand', category: 0 },
      { id: '6', name: 'Champtercier', category: 0 },
      { id: '7', name: 'Cravatte', category: 0 },
      { id: '8', name: 'Count', category: 0 },
      { id: '9', name: 'OldMan', category: 0 },
      { id: '10', name: 'Labarre', category: 1 },
      { id: '11', name: 'Valjean', category: 1 },
      { id: '12', name: 'Marguerite', category: 1 },
      { id: '13', name: 'MmeDeR', category: 1 },
      { id: '14', name: 'Isabeau', category: 1 },
      { id: '15', name: 'Gervais', category: 1 },
      { id: '16', name: 'Tholomyes', category: 2 },
      { id: '17', name: 'Listolier', category: 2 },
      { id: '18', name: 'Fameuil', category: 2 },
      { id: '19', name: 'Blacheville', category: 2 },
      { id: '20', name: 'Favourite', category: 2 },
      { id: '21', name: 'Dahlia', category: 2 },
      { id: '22', name: 'Zephine', category: 2 },
      { id: '23', name: 'Fantine', category: 2 },
      { id: '24', name: 'MmeThenardier', category: 7 },
      { id: '25', name: 'Thenardier', category: 7 },
      { id: '26', name: 'Cosette', category: 6 },
      { id: '27', name: 'Javert', category: 7 },
      { id: '28', name: 'Fauchelevent', category: 4 },
      { id: '29', name: 'Bamatabois', category: 3 },
      { id: '30', name: 'Perpetue', category: 2 },
      { id: '31', name: 'Simplice', category: 2 },
      { id: '32', name: 'Scaufflaire', category: 1 },
      { id: '33', name: 'Woman1', category: 1 },
      { id: '34', name: 'Judge', category: 3 },
      { id: '35', name: 'Champmathieu', category: 3 },
      { id: '36', name: 'Brevet', category: 3 },
      { id: '37', name: 'Chenildieu', category: 3 },
      { id: '38', name: 'Cochepaille', category: 3 },
      { id: '39', name: 'Pontmercy', category: 6 },
      { id: '40', name: 'Boulatruelle', category: 7 },
      { id: '41', name: 'Eponine', category: 7 },
      { id: '42', name: 'Anzelma', category: 7 },
      { id: '43', name: 'Woman2', category: 6 },
      { id: '44', name: 'MotherInnocent', category: 4 },
      { id: '45', name: 'Gribier', category: 4 },
      { id: '46', name: 'Jondrette', category: 5 },
      { id: '47', name: 'MmeBurgon', category: 5 },
      { id: '48', name: 'Gavroche', category: 8 },
      { id: '49', name: 'Gillenormand', category: 6 },
      { id: '50', name: 'Magnon', category: 6 },
      { id: '51', name: 'MlleGillenormand', category: 6 },
      { id: '52', name: 'MmePontmercy', category: 6 },
      { id: '53', name: 'MlleVaubois', category: 6 },
      { id: '54', name: 'LtGillenormand', category: 6 },
      { id: '55', name: 'Marius', category: 6 },
      { id: '56', name: 'BaronessT', category: 6 },
      { id: '57', name: 'Mabeuf', category: 8 },
      { id: '58', name: 'Enjolras', category: 8 },
      { id: '59', name: 'Combeferre', category: 8 },
      { id: '60', name: 'Prouvaire', category: 8 },
      { id: '61', name: 'Feuilly', category: 8 },
      { id: '62', name: 'Courfeyrac', category: 8 },
      { id: '63', name: 'Bahorel', category: 8 },
      { id: '64', name: 'Bossuet', category: 8 },
      { id: '65', name: 'Joly', category: 8 },
      { id: '66', name: 'Grantaire', category: 8 },
      { id: '67', name: 'MotherPlutarch', category: 8 },
      { id: '68', name: 'Gueulemer', category: 7 },
      { id: '69', name: 'Babet', category: 7 },
      { id: '70', name: 'Claquesous', category: 7 },
      { id: '71', name: 'Montparnasse', category: 7 },
      { id: '72', name: 'Toussaint', category: 1 },
      { id: '73', name: 'Child1', category: 8 },
      { id: '74', name: 'Child2', category: 8 },
      { id: '75', name: 'Brujon', category: 7 },
      { id: '76', name: 'MmeHucheloup', category: 8 }
    ],
    'links': [
      {
        "name": "连线名称",
        "source": "1",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "2",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "3",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "3",
        "target": "2"
      },
      {
        "name": "连线名称",
        "source": "4",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "5",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "6",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "7",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "8",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "9",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "11",
        "target": "0"
      },
      {
        "name": "连线名称",
        "source": "11",
        "target": "2"
      },
      {
        "name": "连线名称",
        "source": "11",
        "target": "3"
      },
      {
        "name": "连线名称",
        "source": "11",
        "target": "10"
      },
      {
        "name": "连线名称",
        "source": "12",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "13",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "14",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "15",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "17",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "18",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "18",
        "target": "17"
      },
      {
        "name": "连线名称",
        "source": "19",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "19",
        "target": "17"
      },
      {
        "name": "连线名称",
        "source": "19",
        "target": "18"
      },
      {
        "name": "连线名称",
        "source": "20",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "20",
        "target": "17"
      },
      {
        "name": "连线名称",
        "source": "20",
        "target": "18"
      },
      {
        "name": "连线名称",
        "source": "20",
        "target": "19"
      },
      {
        "name": "连线名称",
        "source": "21",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "21",
        "target": "17"
      },
      {
        "name": "连线名称",
        "source": "21",
        "target": "18"
      },
      {
        "name": "连线名称",
        "source": "21",
        "target": "19"
      },
      {
        "name": "连线名称",
        "source": "21",
        "target": "20"
      },
      {
        "name": "连线名称",
        "source": "22",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "22",
        "target": "17"
      },
      {
        "name": "连线名称",
        "source": "22",
        "target": "18"
      },
      {
        "name": "连线名称",
        "source": "22",
        "target": "19"
      },
      {
        "name": "连线名称",
        "source": "22",
        "target": "20"
      },
      {
        "name": "连线名称",
        "source": "22",
        "target": "21"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "12"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "17"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "18"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "19"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "20"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "21"
      },
      {
        "name": "连线名称",
        "source": "23",
        "target": "22"
      },
      {
        "name": "连线名称",
        "source": "24",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "24",
        "target": "23"
      },
      {
        "name": "连线名称",
        "source": "25",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "25",
        "target": "23"
      },
      {
        "name": "连线名称",
        "source": "25",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "26",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "26",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "26",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "26",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "27",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "27",
        "target": "23"
      },
      {
        "name": "连线名称",
        "source": "27",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "27",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "27",
        "target": "26"
      },
      {
        "name": "连线名称",
        "source": "28",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "28",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "29",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "29",
        "target": "23"
      },
      {
        "name": "连线名称",
        "source": "29",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "30",
        "target": "23"
      },
      {
        "name": "连线名称",
        "source": "31",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "31",
        "target": "23"
      },
      {
        "name": "连线名称",
        "source": "31",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "31",
        "target": "30"
      },
      {
        "name": "连线名称",
        "source": "32",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "33",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "33",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "34",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "34",
        "target": "29"
      },
      {
        "name": "连线名称",
        "source": "35",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "35",
        "target": "29"
      },
      {
        "name": "连线名称",
        "source": "35",
        "target": "34"
      },
      {
        "name": "连线名称",
        "source": "36",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "36",
        "target": "29"
      },
      {
        "name": "连线名称",
        "source": "36",
        "target": "34"
      },
      {
        "name": "连线名称",
        "source": "36",
        "target": "35"
      },
      {
        "name": "连线名称",
        "source": "37",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "37",
        "target": "29"
      },
      {
        "name": "连线名称",
        "source": "37",
        "target": "34"
      },
      {
        "name": "连线名称",
        "source": "37",
        "target": "35"
      },
      {
        "name": "连线名称",
        "source": "37",
        "target": "36"
      },
      {
        "name": "连线名称",
        "source": "38",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "38",
        "target": "29"
      },
      {
        "name": "连线名称",
        "source": "38",
        "target": "34"
      },
      {
        "name": "连线名称",
        "source": "38",
        "target": "35"
      },
      {
        "name": "连线名称",
        "source": "38",
        "target": "36"
      },
      {
        "name": "连线名称",
        "source": "38",
        "target": "37"
      },
      {
        "name": "连线名称",
        "source": "39",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "40",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "41",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "41",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "42",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "42",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "42",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "43",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "43",
        "target": "26"
      },
      {
        "name": "连线名称",
        "source": "43",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "44",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "44",
        "target": "28"
      },
      {
        "name": "连线名称",
        "source": "45",
        "target": "28"
      },
      {
        "name": "连线名称",
        "source": "47",
        "target": "46"
      },
      {
        "name": "连线名称",
        "source": "48",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "48",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "48",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "48",
        "target": "47"
      },
      {
        "name": "连线名称",
        "source": "49",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "49",
        "target": "26"
      },
      {
        "name": "连线名称",
        "source": "50",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "50",
        "target": "49"
      },
      {
        "name": "连线名称",
        "source": "51",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "51",
        "target": "26"
      },
      {
        "name": "连线名称",
        "source": "51",
        "target": "49"
      },
      {
        "name": "连线名称",
        "source": "52",
        "target": "39"
      },
      {
        "name": "连线名称",
        "source": "52",
        "target": "51"
      },
      {
        "name": "连线名称",
        "source": "53",
        "target": "51"
      },
      {
        "name": "连线名称",
        "source": "54",
        "target": "26"
      },
      {
        "name": "连线名称",
        "source": "54",
        "target": "49"
      },
      {
        "name": "连线名称",
        "source": "54",
        "target": "51"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "16"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "26"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "39"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "49"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "51"
      },
      {
        "name": "连线名称",
        "source": "55",
        "target": "54"
      },
      {
        "name": "连线名称",
        "source": "56",
        "target": "49"
      },
      {
        "name": "连线名称",
        "source": "56",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "57",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "57",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "57",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "58",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "58",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "58",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "58",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "58",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "59",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "59",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "59",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "59",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "60",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "60",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "60",
        "target": "59"
      },
      {
        "name": "连线名称",
        "source": "61",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "61",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "61",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "61",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "61",
        "target": "59"
      },
      {
        "name": "连线名称",
        "source": "61",
        "target": "60"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "59"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "60"
      },
      {
        "name": "连线名称",
        "source": "62",
        "target": "61"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "59"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "60"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "61"
      },
      {
        "name": "连线名称",
        "source": "63",
        "target": "62"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "59"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "60"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "61"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "62"
      },
      {
        "name": "连线名称",
        "source": "64",
        "target": "63"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "55"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "59"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "60"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "61"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "62"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "63"
      },
      {
        "name": "连线名称",
        "source": "65",
        "target": "64"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "59"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "60"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "61"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "62"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "63"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "64"
      },
      {
        "name": "连线名称",
        "source": "66",
        "target": "65"
      },
      {
        "name": "连线名称",
        "source": "67",
        "target": "57"
      },
      {
        "name": "连线名称",
        "source": "68",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "68",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "68",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "68",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "68",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "68",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "69",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "69",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "69",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "69",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "69",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "69",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "69",
        "target": "68"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "24"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "68"
      },
      {
        "name": "连线名称",
        "source": "70",
        "target": "69"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "68"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "69"
      },
      {
        "name": "连线名称",
        "source": "71",
        "target": "70"
      },
      {
        "name": "连线名称",
        "source": "72",
        "target": "11"
      },
      {
        "name": "连线名称",
        "source": "72",
        "target": "26"
      },
      {
        "name": "连线名称",
        "source": "72",
        "target": "27"
      },
      {
        "name": "连线名称",
        "source": "73",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "74",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "74",
        "target": "73"
      },
      {
        "name": "连线名称",
        "source": "75",
        "target": "25"
      },
      {
        "name": "连线名称",
        "source": "75",
        "target": "41"
      },
      {
        "name": "连线名称",
        "source": "75",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "75",
        "target": "68"
      },
      {
        "name": "连线名称",
        "source": "75",
        "target": "69"
      },
      {
        "name": "连线名称",
        "source": "75",
        "target": "70"
      },
      {
        "name": "连线名称",
        "source": "75",
        "target": "71"
      },
      {
        "name": "连线名称",
        "source": "76",
        "target": "48"
      },
      {
        "name": "连线名称",
        "source": "76",
        "target": "58"
      },
      {
        "name": "连线名称",
        "source": "76",
        "target": "62"
      },
      {
        "name": "连线名称",
        "source": "76",
        "target": "63"
      },
      {
        "name": "连线名称",
        "source": "76",
        "target": "64"
      },
      {
        "name": "连线名称",
        "source": "76",
        "target": "65"
      },
      {
        "name": "连线名称",
        "source": "76",
        "target": "66"
      }
    ]
  }
  // data.nodes.forEach(node => {
  //   if (node.category === 0) {
  //     node.symbolSize = 100
  //   } else if (node.category === 1) {
  //   }
  // })

  data.links.forEach(link => {
    link.label = {
      align: 'center',
      fontSize: 12
    }
  })

  const categories = data.nodes.map(item => {
    return {
      name: item.name
    }
  })
  console.log('categories', categories)

  const option = {
    title: {
      text: '知识图谱'
    },
    // legend: [{
    //   // selectedMode: 'single',
    //   data: categories.map(x => x.name)
    //   // icon: 'circle'
    // }],
    series: [{
      type: 'graph',
      layout: 'force',
      symbolSize: 58,
      // draggable: true,
      roam: true,
      focusNodeAdjacency: true,
      categories: categories,
      edgeSymbol: ['', 'arrow'],
      edgeSymbolSize: [80, 10],
      edgeLabel: {
        normal: {
          show: true,
          textStyle: {
            fontSize: 20
          },
          formatter(x) {
            console.log(111, x);
            return x.data.name
          }
        }
      },
      emphasis: { // 设置 hover 时的状态
        scale: 2.5, // 悬浮节点时,该节点放大的倍数
        focus: 'adjacency', // 悬浮节点时,展示想关联的节点
        blurScope: 'global',
        label: {
          show: true // 是否显示标签
        }
      },
      label: {
        show: true,
        normal: {
          show : true,//显示
          // position: 'middle',//相对于节点标签的位置,默认在节点中间
          //回调函数,你期望节点标签上显示什么
          formatter: function(params){
            return params.data.name;
          },
        }
      },
      force: {
        repulsion: 2000,
        edgeLength: 120
      },
      data: data.nodes,
      links: data.links
    }]
  }

  // 基于准备好的dom,初始化echarts实例
  const myChart = echarts.init(document.getElementById('main'));
  // 使用刚指定的配置项和数据显示图表。
  myChart.setOption(option);
</script>
</body>
</html>

更多推荐

MySQL-三大日志

前言​redolog:为了持久化数据,当内存中的数据还没写入到磁盘而宕机时,会读取该日志持久化数据到磁盘​undolog:为了保证原子性,事务的操作都会记录一条相反的sql到该日志,出现错误就会根据该文件恢复事务之前的数据​binlog:为了复制和恢复数据,mysql重启可以通过该日志恢复​以上三大日志是MySQL的原

MySQL高频面试题

1.数据库存储引擎有:MyIsam、InnoDB、Memory、Archive、Federated2.InnoDB采用的是B+树结构存储,B树的每个节点对应innoDB的一个page,一个page的大小一般为16K,非叶子节点只有键值,叶子节点包含完整数据适用场景:1)经常更新的表,适合处理多重并发的更新请求。2)支持

静态顺序表及基本操作具体实现

静态顺序表及几个基本操作🎑定义一个顺序表🎑初始化——置空顺序表🎑创建一个顺序表🎑打印顺序表各结点的值🎊🎊顺序表基本操作🎃头插🎃尾插🎃头删🎃尾删🎊🎊查找🎋查找第i个节点的值🎋查找值为x的结点🎋在主函数中实现🎊🎊插入🎋在第i个位置添加元素x🎋在主函数中实现🎊🎊删除🎋删除顺序表中p

面试问题之如何解释微服务

这次的面试还是感觉非常愉快,没有那么憋屈,问的问题也非常有意思。问题假设现在有一个人完全不懂微服务,你能和对方解释下什么是微服务吗?面试回答这个问题如果要完全回答好,感觉不是那么容易。什么是微服务很多人都知道现代的开发流程多是前后端分离,后端采用部署服务的方式来提供服务。这种服务是可以根据业务来进行区分,也可以是根据架

Jmeter怎么实现接口关联?

用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取。1、打开jmeter,新建一个测试计划,在测试计划里新建一个线程组,新建一个登录的http请求,如图所示:2、查看登录返回的结果:3、充值接口需登录后才能操作,此时可以使用co

Hive 优化建议与策略

目录​编辑一、Hive优化总体思想二、具体优化措施、策略2.1分析问题得手段2.2Hive的抓取策略2.2.1策略设置2.2.2策略对比效果2.3Hive本地模式2.3.1设置开启Hive本地模式2.3.2对比效果2.3.2.1开启前2.3.2.2开启后2.4Hive并行模式2.5Hive严格模式2.5.1严格模式实现

Swift学习内容精选(二)

Swift类是构建代码所用的一种通用且灵活的构造体。我们可以为类定义属性(常量、变量)和方法。与其他编程语言所不同的是,Swift并不要求你为自定义类去创建独立的接口和实现文件。你所要做的是在一个单一文件中定义一个类,系统会自动生成面向其它代码的外部接口。类和结构体对比Swift中类和结构体有很多共同点。共同处在于:定

ZooKeeper学习笔记

目录1概述2安装3zoo.cfg配置4zk集群配置5客户端5.1节点类型5.2节点数据操作5.3监听器6springboot客户端7服务注册与发现7.1zk集群端7.2业务服务端7.3业务客户端8分布式锁9Curator框架1概述zk是基于观察者模式设计的;(观察者模式)zk是一个服务管理框、协调框架;zk服务本身也是

Docker从认识到实践再到底层原理(六-1)|Docker容器基本介绍+命令详解

前言那么这里博主先安利一些干货满满的专栏了!首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。高质量博客汇总然后就是博主最近最花时间的一个专栏《Docker从认识到实践再到底层原理》希望大家多多关注!Docker从认识到实践再到底层原理什么是容器通俗地讲,容器是镜

计算机视觉与深度学习-卷积神经网络-纹理表示&卷积神经网络-纹理表示-[北邮鲁鹏]

目录标题参考文章纹理定义纹理的分类规则纹理随机纹理纹理的表示方法基于卷积核组思路什么卷积核组卷积核类型(边缘、条形、点状)卷积核尺度(3~6个尺度)卷积核的方向卷积核组的设计表示步骤步骤一:设计卷积核组。步骤二:利用卷积核组对图像进行卷积操作获得对应的特征响应图组。步骤三:利用特征响应图的某种统计信息来表示图像中的纹理

计算机视觉(CV)技术

计算机视觉(CV)技术的优势:1.自动化和效率:计算机视觉可以自动地完成冗长和繁重的任务,并且可以实现高效率的数据处理。2.准确性:计算机视觉使用数学算法和模型进行数据分析,可以实现高准确性的结果,同时还可以通过学习算法改进准确性。3.可视化:计算机视觉可以将数据可视化,可以让人类更好地理解数据。4.非接触性:计算机视

热文推荐