• Edit
  • Download
    1. <!DOCTYPE html>
    2. <html>
    3.  
    4. <head>
    5. <meta charset="utf-8">
    6. <title>ZingGrid: Blank Grid</title>
    7. <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script>
    8. <!--
    9. Point ZingChart to modules folder so ZingChart
    10. can automatically grab the CSV module
    11. -->
    12. <script nonce="undefined">
    13. zingchart.MODULESDIR = "https://cdn.zingchart.com/modules/";
    14. </script>
    15. <!-- load image data -->
    16. <script nonce="undefined" src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/374756/people.js'></script>
    17. <style>
    18. html,
    19. body {
    20. height: 100%;
    21. width: 100%;
    22. margin: 0;
    23. padding: 0;
    24. }
    25.  
    26. .chart--controls {
    27. margin: 20px;
    28. }
    29.  
    30. .chart--wrapper {
    31. height: 700px;
    32. overflow: auto;
    33. position: relative;
    34. }
    35.  
    36. #myChart {
    37. width: 100%;
    38. height: 100%;
    39. }
    40.  
    41. .zc-ref {
    42. display: none;
    43. }
    44. </style>
    45. </head>
    46.  
    47. <body>
    48. <div class="chart--controls">
    49. See what happens when you remove some main characters:<br />
    50. <button onClick="removeNodeById('Valjean');">Remove Valjean</button>
    51. <button onClick="removeNodeById('Gavroche');">Remove Gavroche</button>
    52. <button onClick="removeNodeById('Javert');">Remove Javert</button>
    53. <button onClick="removeNodeById('Bamatabois');">Remove Bamatabois</button>
    54. </div>
    55. <!-- CHART CONTAINER -->
    56. <div class="chart--wrapper">
    57. <div id="myChart">
    58. <a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a>
    59. </div>
    60. </div>
    61. <script>
    62. ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; // function to separate group from tree diagram
    63. function removeNodeById(id) {
    64. zingchart.exec('myChart', 'tree.removenode', {
    65. id,
    66. });
    67. }
    68.  
    69. // window:load event for Javascript to run after HTML
    70. // because this Javascript is injected into the document head
    71. window.addEventListener('load', () => {
    72. var connectiondata = [{
    73. "id": "Myriel",
    74. "group": 1
    75. },
    76. {
    77. "id": "Napoleon",
    78. "group": 1
    79. },
    80. {
    81. "id": "Mlle.Baptistine",
    82. "group": 1
    83. },
    84. {
    85. "id": "Mme.Magloire",
    86. "group": 1
    87. },
    88. {
    89. "id": "CountessdeLo",
    90. "group": 1
    91. },
    92. {
    93. "id": "Geborand",
    94. "group": 1
    95. },
    96. {
    97. "id": "Champtercier",
    98. "group": 1
    99. },
    100. {
    101. "id": "Cravatte",
    102. "group": 1
    103. },
    104. {
    105. "id": "Count",
    106. "group": 1
    107. },
    108. {
    109. "id": "OldMan",
    110. "group": 1
    111. },
    112. {
    113. "id": "Labarre",
    114. "group": 2
    115. },
    116. {
    117. "id": "Valjean",
    118. "group": 2
    119. },
    120. {
    121. "id": "Marguerite",
    122. "group": 3
    123. },
    124. {
    125. "id": "Mme.deR",
    126. "group": 2
    127. },
    128. {
    129. "id": "Isabeau",
    130. "group": 2
    131. },
    132. {
    133. "id": "Gervais",
    134. "group": 2
    135. },
    136. {
    137. "id": "Tholomyes",
    138. "group": 3
    139. },
    140. {
    141. "id": "Listolier",
    142. "group": 3
    143. },
    144. {
    145. "id": "Fameuil",
    146. "group": 3
    147. },
    148. {
    149. "id": "Blacheville",
    150. "group": 3
    151. },
    152. {
    153. "id": "Favourite",
    154. "group": 3
    155. },
    156. {
    157. "id": "Dahlia",
    158. "group": 3
    159. },
    160. {
    161. "id": "Zephine",
    162. "group": 3
    163. },
    164. {
    165. "id": "Fantine",
    166. "group": 3
    167. },
    168. {
    169. "id": "Mme.Thenardier",
    170. "group": 4
    171. },
    172. {
    173. "id": "Thenardier",
    174. "group": 4
    175. },
    176. {
    177. "id": "Cosette",
    178. "group": 5
    179. },
    180. {
    181. "id": "Javert",
    182. "group": 4
    183. },
    184. {
    185. "id": "Fauchelevent",
    186. "group": 0
    187. },
    188. {
    189. "id": "Bamatabois",
    190. "group": 2
    191. },
    192. {
    193. "id": "Perpetue",
    194. "group": 3
    195. },
    196. {
    197. "id": "Simplice",
    198. "group": 2
    199. },
    200. {
    201. "id": "Scaufflaire",
    202. "group": 2
    203. },
    204. {
    205. "id": "Woman1",
    206. "group": 2
    207. },
    208. {
    209. "id": "Judge",
    210. "group": 2
    211. },
    212. {
    213. "id": "Champmathieu",
    214. "group": 2
    215. },
    216. {
    217. "id": "Brevet",
    218. "group": 2
    219. },
    220. {
    221. "id": "Chenildieu",
    222. "group": 2
    223. },
    224. {
    225. "id": "Cochepaille",
    226. "group": 2
    227. },
    228. {
    229. "id": "Pontmercy",
    230. "group": 4
    231. },
    232. {
    233. "id": "Boulatruelle",
    234. "group": 6
    235. },
    236. {
    237. "id": "Eponine",
    238. "group": 4
    239. },
    240. {
    241. "id": "Anzelma",
    242. "group": 4
    243. },
    244. {
    245. "id": "Woman2",
    246. "group": 5
    247. },
    248. {
    249. "id": "MotherInnocent",
    250. "group": 0
    251. },
    252. {
    253. "id": "Gribier",
    254. "group": 0
    255. },
    256. {
    257. "id": "Jondrette",
    258. "group": 7
    259. },
    260. {
    261. "id": "Mme.Burgon",
    262. "group": 7
    263. },
    264. {
    265. "id": "Gavroche",
    266. "group": 8
    267. },
    268. {
    269. "id": "Gillenormand",
    270. "group": 5
    271. },
    272. {
    273. "id": "Magnon",
    274. "group": 5
    275. },
    276. {
    277. "id": "Mlle.Gillenormand",
    278. "group": 5
    279. },
    280. {
    281. "id": "Mme.Pontmercy",
    282. "group": 5
    283. },
    284. {
    285. "id": "Mlle.Vaubois",
    286. "group": 5
    287. },
    288. {
    289. "id": "Lt.Gillenormand",
    290. "group": 5
    291. },
    292. {
    293. "id": "Marius",
    294. "group": 8
    295. },
    296. {
    297. "id": "BaronessT",
    298. "group": 5
    299. },
    300. {
    301. "id": "Mabeuf",
    302. "group": 8
    303. },
    304. {
    305. "id": "Enjolras",
    306. "group": 8
    307. },
    308. {
    309. "id": "Combeferre",
    310. "group": 8
    311. },
    312. {
    313. "id": "Prouvaire",
    314. "group": 8
    315. },
    316. {
    317. "id": "Feuilly",
    318. "group": 8
    319. },
    320. {
    321. "id": "Courfeyrac",
    322. "group": 8
    323. },
    324. {
    325. "id": "Bahorel",
    326. "group": 8
    327. },
    328. {
    329. "id": "Bossuet",
    330. "group": 8
    331. },
    332. {
    333. "id": "Joly",
    334. "group": 8
    335. },
    336. {
    337. "id": "Grantaire",
    338. "group": 8
    339. },
    340. {
    341. "id": "MotherPlutarch",
    342. "group": 9
    343. },
    344. {
    345. "id": "Gueulemer",
    346. "group": 4
    347. },
    348. {
    349. "id": "Babet",
    350. "group": 4
    351. },
    352. {
    353. "id": "Claquesous",
    354. "group": 4
    355. },
    356. {
    357. "id": "Montparnasse",
    358. "group": 4
    359. },
    360. {
    361. "id": "Toussaint",
    362. "group": 5
    363. },
    364. {
    365. "id": "Child1",
    366. "group": 10
    367. },
    368. {
    369. "id": "Child2",
    370. "group": 10
    371. },
    372. {
    373. "id": "Brujon",
    374. "group": 4
    375. },
    376. {
    377. "id": "Mme.Hucheloup",
    378. "group": 8
    379. },
    380.  
    381. {
    382. "source": "Napoleon",
    383. "target": "Myriel",
    384. "value": 1
    385. },
    386. {
    387. "source": "Mlle.Baptistine",
    388. "target": "Myriel",
    389. "value": 8
    390. },
    391. {
    392. "source": "Mme.Magloire",
    393. "target": "Myriel",
    394. "value": 10
    395. },
    396. {
    397. "source": "Mme.Magloire",
    398. "target": "Mlle.Baptistine",
    399. "value": 6
    400. },
    401. {
    402. "source": "CountessdeLo",
    403. "target": "Myriel",
    404. "value": 1
    405. },
    406. {
    407. "source": "Geborand",
    408. "target": "Myriel",
    409. "value": 1
    410. },
    411. {
    412. "source": "Champtercier",
    413. "target": "Myriel",
    414. "value": 1
    415. },
    416. {
    417. "source": "Cravatte",
    418. "target": "Myriel",
    419. "value": 1
    420. },
    421. {
    422. "source": "Count",
    423. "target": "Myriel",
    424. "value": 2
    425. },
    426. {
    427. "source": "OldMan",
    428. "target": "Myriel",
    429. "value": 1
    430. },
    431. {
    432. "source": "Valjean",
    433. "target": "Labarre",
    434. "value": 1
    435. },
    436. {
    437. "source": "Valjean",
    438. "target": "Mme.Magloire",
    439. "value": 3
    440. },
    441. {
    442. "source": "Valjean",
    443. "target": "Mlle.Baptistine",
    444. "value": 3
    445. },
    446. {
    447. "source": "Valjean",
    448. "target": "Myriel",
    449. "value": 5
    450. },
    451. {
    452. "source": "Marguerite",
    453. "target": "Valjean",
    454. "value": 1
    455. },
    456. {
    457. "source": "Mme.deR",
    458. "target": "Valjean",
    459. "value": 1
    460. },
    461. {
    462. "source": "Isabeau",
    463. "target": "Valjean",
    464. "value": 1
    465. },
    466. {
    467. "source": "Gervais",
    468. "target": "Valjean",
    469. "value": 1
    470. },
    471. {
    472. "source": "Listolier",
    473. "target": "Tholomyes",
    474. "value": 4
    475. },
    476. {
    477. "source": "Fameuil",
    478. "target": "Tholomyes",
    479. "value": 4
    480. },
    481. {
    482. "source": "Fameuil",
    483. "target": "Listolier",
    484. "value": 4
    485. },
    486. {
    487. "source": "Blacheville",
    488. "target": "Tholomyes",
    489. "value": 4
    490. },
    491. {
    492. "source": "Blacheville",
    493. "target": "Listolier",
    494. "value": 4
    495. },
    496. {
    497. "source": "Blacheville",
    498. "target": "Fameuil",
    499. "value": 4
    500. },
    501. {
    502. "source": "Favourite",
    503. "target": "Tholomyes",
    504. "value": 3
    505. },
    506. {
    507. "source": "Favourite",
    508. "target": "Listolier",
    509. "value": 3
    510. },
    511. {
    512. "source": "Favourite",
    513. "target": "Fameuil",
    514. "value": 3
    515. },
    516. {
    517. "source": "Favourite",
    518. "target": "Blacheville",
    519. "value": 4
    520. },
    521. {
    522. "source": "Dahlia",
    523. "target": "Tholomyes",
    524. "value": 3
    525. },
    526. {
    527. "source": "Dahlia",
    528. "target": "Listolier",
    529. "value": 3
    530. },
    531. {
    532. "source": "Dahlia",
    533. "target": "Fameuil",
    534. "value": 3
    535. },
    536. {
    537. "source": "Dahlia",
    538. "target": "Blacheville",
    539. "value": 3
    540. },
    541. {
    542. "source": "Dahlia",
    543. "target": "Favourite",
    544. "value": 5
    545. },
    546. {
    547. "source": "Zephine",
    548. "target": "Tholomyes",
    549. "value": 3
    550. },
    551. {
    552. "source": "Zephine",
    553. "target": "Listolier",
    554. "value": 3
    555. },
    556. {
    557. "source": "Zephine",
    558. "target": "Fameuil",
    559. "value": 3
    560. },
    561. {
    562. "source": "Zephine",
    563. "target": "Blacheville",
    564. "value": 3
    565. },
    566. {
    567. "source": "Zephine",
    568. "target": "Favourite",
    569. "value": 4
    570. },
    571. {
    572. "source": "Zephine",
    573. "target": "Dahlia",
    574. "value": 4
    575. },
    576. {
    577. "source": "Fantine",
    578. "target": "Tholomyes",
    579. "value": 3
    580. },
    581. {
    582. "source": "Fantine",
    583. "target": "Listolier",
    584. "value": 3
    585. },
    586. {
    587. "source": "Fantine",
    588. "target": "Fameuil",
    589. "value": 3
    590. },
    591. {
    592. "source": "Fantine",
    593. "target": "Blacheville",
    594. "value": 3
    595. },
    596. {
    597. "source": "Fantine",
    598. "target": "Favourite",
    599. "value": 4
    600. },
    601. {
    602. "source": "Fantine",
    603. "target": "Dahlia",
    604. "value": 4
    605. },
    606. {
    607. "source": "Fantine",
    608. "target": "Zephine",
    609. "value": 4
    610. },
    611. {
    612. "source": "Fantine",
    613. "target": "Marguerite",
    614. "value": 2
    615. },
    616. {
    617. "source": "Fantine",
    618. "target": "Valjean",
    619. "value": 9
    620. },
    621. {
    622. "source": "Mme.Thenardier",
    623. "target": "Fantine",
    624. "value": 2
    625. },
    626. {
    627. "source": "Mme.Thenardier",
    628. "target": "Valjean",
    629. "value": 7
    630. },
    631. {
    632. "source": "Thenardier",
    633. "target": "Mme.Thenardier",
    634. "value": 13
    635. },
    636. {
    637. "source": "Thenardier",
    638. "target": "Fantine",
    639. "value": 1
    640. },
    641. {
    642. "source": "Thenardier",
    643. "target": "Valjean",
    644. "value": 12
    645. },
    646. {
    647. "source": "Cosette",
    648. "target": "Mme.Thenardier",
    649. "value": 4
    650. },
    651. {
    652. "source": "Cosette",
    653. "target": "Valjean",
    654. "value": 31
    655. },
    656. {
    657. "source": "Cosette",
    658. "target": "Tholomyes",
    659. "value": 1
    660. },
    661. {
    662. "source": "Cosette",
    663. "target": "Thenardier",
    664. "value": 1
    665. },
    666. {
    667. "source": "Javert",
    668. "target": "Valjean",
    669. "value": 17
    670. },
    671. {
    672. "source": "Javert",
    673. "target": "Fantine",
    674. "value": 5
    675. },
    676. {
    677. "source": "Javert",
    678. "target": "Thenardier",
    679. "value": 5
    680. },
    681. {
    682. "source": "Javert",
    683. "target": "Mme.Thenardier",
    684. "value": 1
    685. },
    686. {
    687. "source": "Javert",
    688. "target": "Cosette",
    689. "value": 1
    690. },
    691. {
    692. "source": "Fauchelevent",
    693. "target": "Valjean",
    694. "value": 8
    695. },
    696. {
    697. "source": "Fauchelevent",
    698. "target": "Javert",
    699. "value": 1
    700. },
    701. {
    702. "source": "Bamatabois",
    703. "target": "Fantine",
    704. "value": 1
    705. },
    706. {
    707. "source": "Bamatabois",
    708. "target": "Javert",
    709. "value": 1
    710. },
    711. {
    712. "source": "Bamatabois",
    713. "target": "Valjean",
    714. "value": 2
    715. },
    716. {
    717. "source": "Perpetue",
    718. "target": "Fantine",
    719. "value": 1
    720. },
    721. {
    722. "source": "Simplice",
    723. "target": "Perpetue",
    724. "value": 2
    725. },
    726. {
    727. "source": "Simplice",
    728. "target": "Valjean",
    729. "value": 3
    730. },
    731. {
    732. "source": "Simplice",
    733. "target": "Fantine",
    734. "value": 2
    735. },
    736. {
    737. "source": "Simplice",
    738. "target": "Javert",
    739. "value": 1
    740. },
    741. {
    742. "source": "Scaufflaire",
    743. "target": "Valjean",
    744. "value": 1
    745. },
    746. {
    747. "source": "Woman1",
    748. "target": "Valjean",
    749. "value": 2
    750. },
    751. {
    752. "source": "Woman1",
    753. "target": "Javert",
    754. "value": 1
    755. },
    756. {
    757. "source": "Judge",
    758. "target": "Valjean",
    759. "value": 3
    760. },
    761. {
    762. "source": "Judge",
    763. "target": "Bamatabois",
    764. "value": 2
    765. },
    766. {
    767. "source": "Champmathieu",
    768. "target": "Valjean",
    769. "value": 3
    770. },
    771. {
    772. "source": "Champmathieu",
    773. "target": "Judge",
    774. "value": 3
    775. },
    776. {
    777. "source": "Champmathieu",
    778. "target": "Bamatabois",
    779. "value": 2
    780. },
    781. {
    782. "source": "Brevet",
    783. "target": "Judge",
    784. "value": 2
    785. },
    786. {
    787. "source": "Brevet",
    788. "target": "Champmathieu",
    789. "value": 2
    790. },
    791. {
    792. "source": "Brevet",
    793. "target": "Valjean",
    794. "value": 2
    795. },
    796. {
    797. "source": "Brevet",
    798. "target": "Bamatabois",
    799. "value": 1
    800. },
    801. {
    802. "source": "Chenildieu",
    803. "target": "Judge",
    804. "value": 2
    805. },
    806. {
    807. "source": "Chenildieu",
    808. "target": "Champmathieu",
    809. "value": 2
    810. },
    811. {
    812. "source": "Chenildieu",
    813. "target": "Brevet",
    814. "value": 2
    815. },
    816. {
    817. "source": "Chenildieu",
    818. "target": "Valjean",
    819. "value": 2
    820. },
    821. {
    822. "source": "Chenildieu",
    823. "target": "Bamatabois",
    824. "value": 1
    825. },
    826. {
    827. "source": "Cochepaille",
    828. "target": "Judge",
    829. "value": 2
    830. },
    831. {
    832. "source": "Cochepaille",
    833. "target": "Champmathieu",
    834. "value": 2
    835. },
    836. {
    837. "source": "Cochepaille",
    838. "target": "Brevet",
    839. "value": 2
    840. },
    841. {
    842. "source": "Cochepaille",
    843. "target": "Chenildieu",
    844. "value": 2
    845. },
    846. {
    847. "source": "Cochepaille",
    848. "target": "Valjean",
    849. "value": 2
    850. },
    851. {
    852. "source": "Cochepaille",
    853. "target": "Bamatabois",
    854. "value": 1
    855. },
    856. {
    857. "source": "Pontmercy",
    858. "target": "Thenardier",
    859. "value": 1
    860. },
    861. {
    862. "source": "Boulatruelle",
    863. "target": "Thenardier",
    864. "value": 1
    865. },
    866. {
    867. "source": "Eponine",
    868. "target": "Mme.Thenardier",
    869. "value": 2
    870. },
    871. {
    872. "source": "Eponine",
    873. "target": "Thenardier",
    874. "value": 3
    875. },
    876. {
    877. "source": "Anzelma",
    878. "target": "Eponine",
    879. "value": 2
    880. },
    881. {
    882. "source": "Anzelma",
    883. "target": "Thenardier",
    884. "value": 2
    885. },
    886. {
    887. "source": "Anzelma",
    888. "target": "Mme.Thenardier",
    889. "value": 1
    890. },
    891. {
    892. "source": "Woman2",
    893. "target": "Valjean",
    894. "value": 3
    895. },
    896. {
    897. "source": "Woman2",
    898. "target": "Cosette",
    899. "value": 1
    900. },
    901. {
    902. "source": "Woman2",
    903. "target": "Javert",
    904. "value": 1
    905. },
    906. {
    907. "source": "MotherInnocent",
    908. "target": "Fauchelevent",
    909. "value": 3
    910. },
    911. {
    912. "source": "MotherInnocent",
    913. "target": "Valjean",
    914. "value": 1
    915. },
    916. {
    917. "source": "Gribier",
    918. "target": "Fauchelevent",
    919. "value": 2
    920. },
    921. {
    922. "source": "Mme.Burgon",
    923. "target": "Jondrette",
    924. "value": 1
    925. },
    926. {
    927. "source": "Gavroche",
    928. "target": "Mme.Burgon",
    929. "value": 2
    930. },
    931. {
    932. "source": "Gavroche",
    933. "target": "Thenardier",
    934. "value": 1
    935. },
    936. {
    937. "source": "Gavroche",
    938. "target": "Javert",
    939. "value": 1
    940. },
    941. {
    942. "source": "Gavroche",
    943. "target": "Valjean",
    944. "value": 1
    945. },
    946. {
    947. "source": "Gillenormand",
    948. "target": "Cosette",
    949. "value": 3
    950. },
    951. {
    952. "source": "Gillenormand",
    953. "target": "Valjean",
    954. "value": 2
    955. },
    956. {
    957. "source": "Magnon",
    958. "target": "Gillenormand",
    959. "value": 1
    960. },
    961. {
    962. "source": "Magnon",
    963. "target": "Mme.Thenardier",
    964. "value": 1
    965. },
    966. {
    967. "source": "Mlle.Gillenormand",
    968. "target": "Gillenormand",
    969. "value": 9
    970. },
    971. {
    972. "source": "Mlle.Gillenormand",
    973. "target": "Cosette",
    974. "value": 2
    975. },
    976. {
    977. "source": "Mlle.Gillenormand",
    978. "target": "Valjean",
    979. "value": 2
    980. },
    981. {
    982. "source": "Mme.Pontmercy",
    983. "target": "Mlle.Gillenormand",
    984. "value": 1
    985. },
    986. {
    987. "source": "Mme.Pontmercy",
    988. "target": "Pontmercy",
    989. "value": 1
    990. },
    991. {
    992. "source": "Mlle.Vaubois",
    993. "target": "Mlle.Gillenormand",
    994. "value": 1
    995. },
    996. {
    997. "source": "Lt.Gillenormand",
    998. "target": "Mlle.Gillenormand",
    999. "value": 2
    1000. },
    1001. {
    1002. "source": "Lt.Gillenormand",
    1003. "target": "Gillenormand",
    1004. "value": 1
    1005. },
    1006. {
    1007. "source": "Lt.Gillenormand",
    1008. "target": "Cosette",
    1009. "value": 1
    1010. },
    1011. {
    1012. "source": "Marius",
    1013. "target": "Mlle.Gillenormand",
    1014. "value": 6
    1015. },
    1016. {
    1017. "source": "Marius",
    1018. "target": "Gillenormand",
    1019. "value": 12
    1020. },
    1021. {
    1022. "source": "Marius",
    1023. "target": "Pontmercy",
    1024. "value": 1
    1025. },
    1026. {
    1027. "source": "Marius",
    1028. "target": "Lt.Gillenormand",
    1029. "value": 1
    1030. },
    1031. {
    1032. "source": "Marius",
    1033. "target": "Cosette",
    1034. "value": 21
    1035. },
    1036. {
    1037. "source": "Marius",
    1038. "target": "Valjean",
    1039. "value": 19
    1040. },
    1041. {
    1042. "source": "Marius",
    1043. "target": "Tholomyes",
    1044. "value": 1
    1045. },
    1046. {
    1047. "source": "Marius",
    1048. "target": "Thenardier",
    1049. "value": 2
    1050. },
    1051. {
    1052. "source": "Marius",
    1053. "target": "Eponine",
    1054. "value": 5
    1055. },
    1056. {
    1057. "source": "Marius",
    1058. "target": "Gavroche",
    1059. "value": 4
    1060. },
    1061. {
    1062. "source": "BaronessT",
    1063. "target": "Gillenormand",
    1064. "value": 1
    1065. },
    1066. {
    1067. "source": "BaronessT",
    1068. "target": "Marius",
    1069. "value": 1
    1070. },
    1071. {
    1072. "source": "Mabeuf",
    1073. "target": "Marius",
    1074. "value": 1
    1075. },
    1076. {
    1077. "source": "Mabeuf",
    1078. "target": "Eponine",
    1079. "value": 1
    1080. },
    1081. {
    1082. "source": "Mabeuf",
    1083. "target": "Gavroche",
    1084. "value": 1
    1085. },
    1086. {
    1087. "source": "Enjolras",
    1088. "target": "Marius",
    1089. "value": 7
    1090. },
    1091. {
    1092. "source": "Enjolras",
    1093. "target": "Gavroche",
    1094. "value": 7
    1095. },
    1096. {
    1097. "source": "Enjolras",
    1098. "target": "Javert",
    1099. "value": 6
    1100. },
    1101. {
    1102. "source": "Enjolras",
    1103. "target": "Mabeuf",
    1104. "value": 1
    1105. },
    1106. {
    1107. "source": "Enjolras",
    1108. "target": "Valjean",
    1109. "value": 4
    1110. },
    1111. {
    1112. "source": "Combeferre",
    1113. "target": "Enjolras",
    1114. "value": 15
    1115. },
    1116. {
    1117. "source": "Combeferre",
    1118. "target": "Marius",
    1119. "value": 5
    1120. },
    1121. {
    1122. "source": "Combeferre",
    1123. "target": "Gavroche",
    1124. "value": 6
    1125. },
    1126. {
    1127. "source": "Combeferre",
    1128. "target": "Mabeuf",
    1129. "value": 2
    1130. },
    1131. {
    1132. "source": "Prouvaire",
    1133. "target": "Gavroche",
    1134. "value": 1
    1135. },
    1136. {
    1137. "source": "Prouvaire",
    1138. "target": "Enjolras",
    1139. "value": 4
    1140. },
    1141. {
    1142. "source": "Prouvaire",
    1143. "target": "Combeferre",
    1144. "value": 2
    1145. },
    1146. {
    1147. "source": "Feuilly",
    1148. "target": "Gavroche",
    1149. "value": 2
    1150. },
    1151. {
    1152. "source": "Feuilly",
    1153. "target": "Enjolras",
    1154. "value": 6
    1155. },
    1156. {
    1157. "source": "Feuilly",
    1158. "target": "Prouvaire",
    1159. "value": 2
    1160. },
    1161. {
    1162. "source": "Feuilly",
    1163. "target": "Combeferre",
    1164. "value": 5
    1165. },
    1166. {
    1167. "source": "Feuilly",
    1168. "target": "Mabeuf",
    1169. "value": 1
    1170. },
    1171. {
    1172. "source": "Feuilly",
    1173. "target": "Marius",
    1174. "value": 1
    1175. },
    1176. {
    1177. "source": "Courfeyrac",
    1178. "target": "Marius",
    1179. "value": 9
    1180. },
    1181. {
    1182. "source": "Courfeyrac",
    1183. "target": "Enjolras",
    1184. "value": 17
    1185. },
    1186. {
    1187. "source": "Courfeyrac",
    1188. "target": "Combeferre",
    1189. "value": 13
    1190. },
    1191. {
    1192. "source": "Courfeyrac",
    1193. "target": "Gavroche",
    1194. "value": 7
    1195. },
    1196. {
    1197. "source": "Courfeyrac",
    1198. "target": "Mabeuf",
    1199. "value": 2
    1200. },
    1201. {
    1202. "source": "Courfeyrac",
    1203. "target": "Eponine",
    1204. "value": 1
    1205. },
    1206. {
    1207. "source": "Courfeyrac",
    1208. "target": "Feuilly",
    1209. "value": 6
    1210. },
    1211. {
    1212. "source": "Courfeyrac",
    1213. "target": "Prouvaire",
    1214. "value": 3
    1215. },
    1216. {
    1217. "source": "Bahorel",
    1218. "target": "Combeferre",
    1219. "value": 5
    1220. },
    1221. {
    1222. "source": "Bahorel",
    1223. "target": "Gavroche",
    1224. "value": 5
    1225. },
    1226. {
    1227. "source": "Bahorel",
    1228. "target": "Courfeyrac",
    1229. "value": 6
    1230. },
    1231. {
    1232. "source": "Bahorel",
    1233. "target": "Mabeuf",
    1234. "value": 2
    1235. },
    1236. {
    1237. "source": "Bahorel",
    1238. "target": "Enjolras",
    1239. "value": 4
    1240. },
    1241. {
    1242. "source": "Bahorel",
    1243. "target": "Feuilly",
    1244. "value": 3
    1245. },
    1246. {
    1247. "source": "Bahorel",
    1248. "target": "Prouvaire",
    1249. "value": 2
    1250. },
    1251. {
    1252. "source": "Bahorel",
    1253. "target": "Marius",
    1254. "value": 1
    1255. },
    1256. {
    1257. "source": "Bossuet",
    1258. "target": "Marius",
    1259. "value": 5
    1260. },
    1261. {
    1262. "source": "Bossuet",
    1263. "target": "Courfeyrac",
    1264. "value": 12
    1265. },
    1266. {
    1267. "source": "Bossuet",
    1268. "target": "Gavroche",
    1269. "value": 5
    1270. },
    1271. {
    1272. "source": "Bossuet",
    1273. "target": "Bahorel",
    1274. "value": 4
    1275. },
    1276. {
    1277. "source": "Bossuet",
    1278. "target": "Enjolras",
    1279. "value": 10
    1280. },
    1281. {
    1282. "source": "Bossuet",
    1283. "target": "Feuilly",
    1284. "value": 6
    1285. },
    1286. {
    1287. "source": "Bossuet",
    1288. "target": "Prouvaire",
    1289. "value": 2
    1290. },
    1291. {
    1292. "source": "Bossuet",
    1293. "target": "Combeferre",
    1294. "value": 9
    1295. },
    1296. {
    1297. "source": "Bossuet",
    1298. "target": "Mabeuf",
    1299. "value": 1
    1300. },
    1301. {
    1302. "source": "Bossuet",
    1303. "target": "Valjean",
    1304. "value": 1
    1305. },
    1306. {
    1307. "source": "Joly",
    1308. "target": "Bahorel",
    1309. "value": 5
    1310. },
    1311. {
    1312. "source": "Joly",
    1313. "target": "Bossuet",
    1314. "value": 7
    1315. },
    1316. {
    1317. "source": "Joly",
    1318. "target": "Gavroche",
    1319. "value": 3
    1320. },
    1321. {
    1322. "source": "Joly",
    1323. "target": "Courfeyrac",
    1324. "value": 5
    1325. },
    1326. {
    1327. "source": "Joly",
    1328. "target": "Enjolras",
    1329. "value": 5
    1330. },
    1331. {
    1332. "source": "Joly",
    1333. "target": "Feuilly",
    1334. "value": 5
    1335. },
    1336. {
    1337. "source": "Joly",
    1338. "target": "Prouvaire",
    1339. "value": 2
    1340. },
    1341. {
    1342. "source": "Joly",
    1343. "target": "Combeferre",
    1344. "value": 5
    1345. },
    1346. {
    1347. "source": "Joly",
    1348. "target": "Mabeuf",
    1349. "value": 1
    1350. },
    1351. {
    1352. "source": "Joly",
    1353. "target": "Marius",
    1354. "value": 2
    1355. },
    1356. {
    1357. "source": "Grantaire",
    1358. "target": "Bossuet",
    1359. "value": 3
    1360. },
    1361. {
    1362. "source": "Grantaire",
    1363. "target": "Enjolras",
    1364. "value": 3
    1365. },
    1366. {
    1367. "source": "Grantaire",
    1368. "target": "Combeferre",
    1369. "value": 1
    1370. },
    1371. {
    1372. "source": "Grantaire",
    1373. "target": "Courfeyrac",
    1374. "value": 2
    1375. },
    1376. {
    1377. "source": "Grantaire",
    1378. "target": "Joly",
    1379. "value": 2
    1380. },
    1381. {
    1382. "source": "Grantaire",
    1383. "target": "Gavroche",
    1384. "value": 1
    1385. },
    1386. {
    1387. "source": "Grantaire",
    1388. "target": "Bahorel",
    1389. "value": 1
    1390. },
    1391. {
    1392. "source": "Grantaire",
    1393. "target": "Feuilly",
    1394. "value": 1
    1395. },
    1396. {
    1397. "source": "Grantaire",
    1398. "target": "Prouvaire",
    1399. "value": 1
    1400. },
    1401. {
    1402. "source": "MotherPlutarch",
    1403. "target": "Mabeuf",
    1404. "value": 3
    1405. },
    1406. {
    1407. "source": "Gueulemer",
    1408. "target": "Thenardier",
    1409. "value": 5
    1410. },
    1411. {
    1412. "source": "Gueulemer",
    1413. "target": "Valjean",
    1414. "value": 1
    1415. },
    1416. {
    1417. "source": "Gueulemer",
    1418. "target": "Mme.Thenardier",
    1419. "value": 1
    1420. },
    1421. {
    1422. "source": "Gueulemer",
    1423. "target": "Javert",
    1424. "value": 1
    1425. },
    1426. {
    1427. "source": "Gueulemer",
    1428. "target": "Gavroche",
    1429. "value": 1
    1430. },
    1431. {
    1432. "source": "Gueulemer",
    1433. "target": "Eponine",
    1434. "value": 1
    1435. },
    1436. {
    1437. "source": "Babet",
    1438. "target": "Thenardier",
    1439. "value": 6
    1440. },
    1441. {
    1442. "source": "Babet",
    1443. "target": "Gueulemer",
    1444. "value": 6
    1445. },
    1446. {
    1447. "source": "Babet",
    1448. "target": "Valjean",
    1449. "value": 1
    1450. },
    1451. {
    1452. "source": "Babet",
    1453. "target": "Mme.Thenardier",
    1454. "value": 1
    1455. },
    1456. {
    1457. "source": "Babet",
    1458. "target": "Javert",
    1459. "value": 2
    1460. },
    1461. {
    1462. "source": "Babet",
    1463. "target": "Gavroche",
    1464. "value": 1
    1465. },
    1466. {
    1467. "source": "Babet",
    1468. "target": "Eponine",
    1469. "value": 1
    1470. },
    1471. {
    1472. "source": "Claquesous",
    1473. "target": "Thenardier",
    1474. "value": 4
    1475. },
    1476. {
    1477. "source": "Claquesous",
    1478. "target": "Babet",
    1479. "value": 4
    1480. },
    1481. {
    1482. "source": "Claquesous",
    1483. "target": "Gueulemer",
    1484. "value": 4
    1485. },
    1486. {
    1487. "source": "Claquesous",
    1488. "target": "Valjean",
    1489. "value": 1
    1490. },
    1491. {
    1492. "source": "Claquesous",
    1493. "target": "Mme.Thenardier",
    1494. "value": 1
    1495. },
    1496. {
    1497. "source": "Claquesous",
    1498. "target": "Javert",
    1499. "value": 1
    1500. },
    1501. {
    1502. "source": "Claquesous",
    1503. "target": "Eponine",
    1504. "value": 1
    1505. },
    1506. {
    1507. "source": "Claquesous",
    1508. "target": "Enjolras",
    1509. "value": 1
    1510. },
    1511. {
    1512. "source": "Montparnasse",
    1513. "target": "Javert",
    1514. "value": 1
    1515. },
    1516. {
    1517. "source": "Montparnasse",
    1518. "target": "Babet",
    1519. "value": 2
    1520. },
    1521. {
    1522. "source": "Montparnasse",
    1523. "target": "Gueulemer",
    1524. "value": 2
    1525. },
    1526. {
    1527. "source": "Montparnasse",
    1528. "target": "Claquesous",
    1529. "value": 2
    1530. },
    1531. {
    1532. "source": "Montparnasse",
    1533. "target": "Valjean",
    1534. "value": 1
    1535. },
    1536. {
    1537. "source": "Montparnasse",
    1538. "target": "Gavroche",
    1539. "value": 1
    1540. },
    1541. {
    1542. "source": "Montparnasse",
    1543. "target": "Eponine",
    1544. "value": 1
    1545. },
    1546. {
    1547. "source": "Montparnasse",
    1548. "target": "Thenardier",
    1549. "value": 1
    1550. },
    1551. {
    1552. "source": "Toussaint",
    1553. "target": "Cosette",
    1554. "value": 2
    1555. },
    1556. {
    1557. "source": "Toussaint",
    1558. "target": "Javert",
    1559. "value": 1
    1560. },
    1561. {
    1562. "source": "Toussaint",
    1563. "target": "Valjean",
    1564. "value": 1
    1565. },
    1566. {
    1567. "source": "Child1",
    1568. "target": "Gavroche",
    1569. "value": 2
    1570. },
    1571. {
    1572. "source": "Child2",
    1573. "target": "Gavroche",
    1574. "value": 2
    1575. },
    1576. {
    1577. "source": "Child2",
    1578. "target": "Child1",
    1579. "value": 3
    1580. },
    1581. {
    1582. "source": "Brujon",
    1583. "target": "Babet",
    1584. "value": 3
    1585. },
    1586. {
    1587. "source": "Brujon",
    1588. "target": "Gueulemer",
    1589. "value": 3
    1590. },
    1591. {
    1592. "source": "Brujon",
    1593. "target": "Thenardier",
    1594. "value": 3
    1595. },
    1596. {
    1597. "source": "Brujon",
    1598. "target": "Gavroche",
    1599. "value": 1
    1600. },
    1601. {
    1602. "source": "Brujon",
    1603. "target": "Eponine",
    1604. "value": 1
    1605. },
    1606. {
    1607. "source": "Brujon",
    1608. "target": "Claquesous",
    1609. "value": 1
    1610. },
    1611. {
    1612. "source": "Brujon",
    1613. "target": "Montparnasse",
    1614. "value": 1
    1615. },
    1616. {
    1617. "source": "Mme.Hucheloup",
    1618. "target": "Bossuet",
    1619. "value": 1
    1620. },
    1621. {
    1622. "source": "Mme.Hucheloup",
    1623. "target": "Joly",
    1624. "value": 1
    1625. },
    1626. {
    1627. "source": "Mme.Hucheloup",
    1628. "target": "Grantaire",
    1629. "value": 1
    1630. },
    1631. {
    1632. "source": "Mme.Hucheloup",
    1633. "target": "Bahorel",
    1634. "value": 1
    1635. },
    1636. {
    1637. "source": "Mme.Hucheloup",
    1638. "target": "Courfeyrac",
    1639. "value": 1
    1640. },
    1641. {
    1642. "source": "Mme.Hucheloup",
    1643. "target": "Gavroche",
    1644. "value": 1
    1645. },
    1646. {
    1647. "source": "Mme.Hucheloup",
    1648. "target": "Enjolras",
    1649. "value": 1
    1650. }
    1651. ];
    1652.  
    1653. var cdata = {
    1654. borderWidth: 1,
    1655. borderColor: '#999',
    1656. type: 'tree',
    1657. plotarea: {},
    1658. options: {
    1659. aspect: 'graph',
    1660. textAttr: 'id',
    1661. minSize: 5,
    1662. maxSize: 5,
    1663. minLinkWidth: 1,
    1664. maxLinkWidth: 5,
    1665.  
    1666. springLength: 50,
    1667. attractionConstant: 0.7,
    1668. repulsionConstant: 900,
    1669. repulsionDistanceFactor: 20,
    1670. weightedNodes: 0,
    1671. weightedLinks: 0,
    1672.  
    1673. node: {
    1674. borderWidth: 0,
    1675. label: {
    1676. visible: false
    1677. }
    1678. },
    1679. link: {
    1680. fastVectorPath: true
    1681. },
    1682. nodes: {
    1683. Valjean: {
    1684. type: 'diamond',
    1685. borderWidth: 1,
    1686. size: 8,
    1687. borderColor: '#333'
    1688. },
    1689. Gavroche: {
    1690. type: 'rpoly6',
    1691. borderWidth: 1,
    1692. size: 8,
    1693. borderColor: '#333'
    1694. },
    1695. Javert: {
    1696. type: 'triangle',
    1697. borderWidth: 1,
    1698. size: 8,
    1699. borderColor: '#333'
    1700. }
    1701. }
    1702. },
    1703. series: connectiondata
    1704. };
    1705.  
    1706. zingchart.render({
    1707. id: 'myChart',
    1708. height: '100%',
    1709. output: 'canvas',
    1710. data: cdata
    1711. });
    1712.  
    1713. });
    1714. </script>
    1715. </body>
    1716.  
    1717. </html>
    1. <!DOCTYPE html>
    2. <html>
    3.  
    4. <head>
    5. <meta charset="utf-8">
    6. <title>ZingGrid: Blank Grid</title>
    7. <script src="https://cdn.zingchart.com/zingchart.min.js"></script>
    8. <!--
    9. Point ZingChart to modules folder so ZingChart
    10. can automatically grab the CSV module
    11. -->
    12. <script>
    13. zingchart.MODULESDIR = "https://cdn.zingchart.com/modules/";
    14. </script>
    15. <!-- load image data -->
    16. <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/374756/people.js'></script>
    17. </head>
    18.  
    19. <body>
    20. <div class="chart--controls">
    21. See what happens when you remove some main characters:<br />
    22. <button onClick="removeNodeById('Valjean');">Remove Valjean</button>
    23. <button onClick="removeNodeById('Gavroche');">Remove Gavroche</button>
    24. <button onClick="removeNodeById('Javert');">Remove Javert</button>
    25. <button onClick="removeNodeById('Bamatabois');">Remove Bamatabois</button>
    26. </div>
    27. <!-- CHART CONTAINER -->
    28. <div class="chart--wrapper">
    29. <div id="myChart">
    30. <a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a>
    31. </div>
    32. </div>
    33. </body>
    34.  
    35. </html>
    1. html,
    2. body {
    3. height: 100%;
    4. width: 100%;
    5. margin: 0;
    6. padding: 0;
    7. }
    8.  
    9. .chart--controls {
    10. margin: 20px;
    11. }
    12.  
    13. .chart--wrapper {
    14. height: 700px;
    15. overflow: auto;
    16. position: relative;
    17. }
    18.  
    19. #myChart {
    20. width: 100%;
    21. height: 100%;
    22. }
    23.  
    24. .zc-ref {
    25. display: none;
    26. }
    1. // function to separate group from tree diagram
    2. function removeNodeById(id) {
    3. zingchart.exec('myChart', 'tree.removenode', {
    4. id,
    5. });
    6. }
    7.  
    8. // window:load event for Javascript to run after HTML
    9. // because this Javascript is injected into the document head
    10. window.addEventListener('load', () => {
    11. var connectiondata = [{
    12. "id": "Myriel",
    13. "group": 1
    14. },
    15. {
    16. "id": "Napoleon",
    17. "group": 1
    18. },
    19. {
    20. "id": "Mlle.Baptistine",
    21. "group": 1
    22. },
    23. {
    24. "id": "Mme.Magloire",
    25. "group": 1
    26. },
    27. {
    28. "id": "CountessdeLo",
    29. "group": 1
    30. },
    31. {
    32. "id": "Geborand",
    33. "group": 1
    34. },
    35. {
    36. "id": "Champtercier",
    37. "group": 1
    38. },
    39. {
    40. "id": "Cravatte",
    41. "group": 1
    42. },
    43. {
    44. "id": "Count",
    45. "group": 1
    46. },
    47. {
    48. "id": "OldMan",
    49. "group": 1
    50. },
    51. {
    52. "id": "Labarre",
    53. "group": 2
    54. },
    55. {
    56. "id": "Valjean",
    57. "group": 2
    58. },
    59. {
    60. "id": "Marguerite",
    61. "group": 3
    62. },
    63. {
    64. "id": "Mme.deR",
    65. "group": 2
    66. },
    67. {
    68. "id": "Isabeau",
    69. "group": 2
    70. },
    71. {
    72. "id": "Gervais",
    73. "group": 2
    74. },
    75. {
    76. "id": "Tholomyes",
    77. "group": 3
    78. },
    79. {
    80. "id": "Listolier",
    81. "group": 3
    82. },
    83. {
    84. "id": "Fameuil",
    85. "group": 3
    86. },
    87. {
    88. "id": "Blacheville",
    89. "group": 3
    90. },
    91. {
    92. "id": "Favourite",
    93. "group": 3
    94. },
    95. {
    96. "id": "Dahlia",
    97. "group": 3
    98. },
    99. {
    100. "id": "Zephine",
    101. "group": 3
    102. },
    103. {
    104. "id": "Fantine",
    105. "group": 3
    106. },
    107. {
    108. "id": "Mme.Thenardier",
    109. "group": 4
    110. },
    111. {
    112. "id": "Thenardier",
    113. "group": 4
    114. },
    115. {
    116. "id": "Cosette",
    117. "group": 5
    118. },
    119. {
    120. "id": "Javert",
    121. "group": 4
    122. },
    123. {
    124. "id": "Fauchelevent",
    125. "group": 0
    126. },
    127. {
    128. "id": "Bamatabois",
    129. "group": 2
    130. },
    131. {
    132. "id": "Perpetue",
    133. "group": 3
    134. },
    135. {
    136. "id": "Simplice",
    137. "group": 2
    138. },
    139. {
    140. "id": "Scaufflaire",
    141. "group": 2
    142. },
    143. {
    144. "id": "Woman1",
    145. "group": 2
    146. },
    147. {
    148. "id": "Judge",
    149. "group": 2
    150. },
    151. {
    152. "id": "Champmathieu",
    153. "group": 2
    154. },
    155. {
    156. "id": "Brevet",
    157. "group": 2
    158. },
    159. {
    160. "id": "Chenildieu",
    161. "group": 2
    162. },
    163. {
    164. "id": "Cochepaille",
    165. "group": 2
    166. },
    167. {
    168. "id": "Pontmercy",
    169. "group": 4
    170. },
    171. {
    172. "id": "Boulatruelle",
    173. "group": 6
    174. },
    175. {
    176. "id": "Eponine",
    177. "group": 4
    178. },
    179. {
    180. "id": "Anzelma",
    181. "group": 4
    182. },
    183. {
    184. "id": "Woman2",
    185. "group": 5
    186. },
    187. {
    188. "id": "MotherInnocent",
    189. "group": 0
    190. },
    191. {
    192. "id": "Gribier",
    193. "group": 0
    194. },
    195. {
    196. "id": "Jondrette",
    197. "group": 7
    198. },
    199. {
    200. "id": "Mme.Burgon",
    201. "group": 7
    202. },
    203. {
    204. "id": "Gavroche",
    205. "group": 8
    206. },
    207. {
    208. "id": "Gillenormand",
    209. "group": 5
    210. },
    211. {
    212. "id": "Magnon",
    213. "group": 5
    214. },
    215. {
    216. "id": "Mlle.Gillenormand",
    217. "group": 5
    218. },
    219. {
    220. "id": "Mme.Pontmercy",
    221. "group": 5
    222. },
    223. {
    224. "id": "Mlle.Vaubois",
    225. "group": 5
    226. },
    227. {
    228. "id": "Lt.Gillenormand",
    229. "group": 5
    230. },
    231. {
    232. "id": "Marius",
    233. "group": 8
    234. },
    235. {
    236. "id": "BaronessT",
    237. "group": 5
    238. },
    239. {
    240. "id": "Mabeuf",
    241. "group": 8
    242. },
    243. {
    244. "id": "Enjolras",
    245. "group": 8
    246. },
    247. {
    248. "id": "Combeferre",
    249. "group": 8
    250. },
    251. {
    252. "id": "Prouvaire",
    253. "group": 8
    254. },
    255. {
    256. "id": "Feuilly",
    257. "group": 8
    258. },
    259. {
    260. "id": "Courfeyrac",
    261. "group": 8
    262. },
    263. {
    264. "id": "Bahorel",
    265. "group": 8
    266. },
    267. {
    268. "id": "Bossuet",
    269. "group": 8
    270. },
    271. {
    272. "id": "Joly",
    273. "group": 8
    274. },
    275. {
    276. "id": "Grantaire",
    277. "group": 8
    278. },
    279. {
    280. "id": "MotherPlutarch",
    281. "group": 9
    282. },
    283. {
    284. "id": "Gueulemer",
    285. "group": 4
    286. },
    287. {
    288. "id": "Babet",
    289. "group": 4
    290. },
    291. {
    292. "id": "Claquesous",
    293. "group": 4
    294. },
    295. {
    296. "id": "Montparnasse",
    297. "group": 4
    298. },
    299. {
    300. "id": "Toussaint",
    301. "group": 5
    302. },
    303. {
    304. "id": "Child1",
    305. "group": 10
    306. },
    307. {
    308. "id": "Child2",
    309. "group": 10
    310. },
    311. {
    312. "id": "Brujon",
    313. "group": 4
    314. },
    315. {
    316. "id": "Mme.Hucheloup",
    317. "group": 8
    318. },
    319.  
    320. {
    321. "source": "Napoleon",
    322. "target": "Myriel",
    323. "value": 1
    324. },
    325. {
    326. "source": "Mlle.Baptistine",
    327. "target": "Myriel",
    328. "value": 8
    329. },
    330. {
    331. "source": "Mme.Magloire",
    332. "target": "Myriel",
    333. "value": 10
    334. },
    335. {
    336. "source": "Mme.Magloire",
    337. "target": "Mlle.Baptistine",
    338. "value": 6
    339. },
    340. {
    341. "source": "CountessdeLo",
    342. "target": "Myriel",
    343. "value": 1
    344. },
    345. {
    346. "source": "Geborand",
    347. "target": "Myriel",
    348. "value": 1
    349. },
    350. {
    351. "source": "Champtercier",
    352. "target": "Myriel",
    353. "value": 1
    354. },
    355. {
    356. "source": "Cravatte",
    357. "target": "Myriel",
    358. "value": 1
    359. },
    360. {
    361. "source": "Count",
    362. "target": "Myriel",
    363. "value": 2
    364. },
    365. {
    366. "source": "OldMan",
    367. "target": "Myriel",
    368. "value": 1
    369. },
    370. {
    371. "source": "Valjean",
    372. "target": "Labarre",
    373. "value": 1
    374. },
    375. {
    376. "source": "Valjean",
    377. "target": "Mme.Magloire",
    378. "value": 3
    379. },
    380. {
    381. "source": "Valjean",
    382. "target": "Mlle.Baptistine",
    383. "value": 3
    384. },
    385. {
    386. "source": "Valjean",
    387. "target": "Myriel",
    388. "value": 5
    389. },
    390. {
    391. "source": "Marguerite",
    392. "target": "Valjean",
    393. "value": 1
    394. },
    395. {
    396. "source": "Mme.deR",
    397. "target": "Valjean",
    398. "value": 1
    399. },
    400. {
    401. "source": "Isabeau",
    402. "target": "Valjean",
    403. "value": 1
    404. },
    405. {
    406. "source": "Gervais",
    407. "target": "Valjean",
    408. "value": 1
    409. },
    410. {
    411. "source": "Listolier",
    412. "target": "Tholomyes",
    413. "value": 4
    414. },
    415. {
    416. "source": "Fameuil",
    417. "target": "Tholomyes",
    418. "value": 4
    419. },
    420. {
    421. "source": "Fameuil",
    422. "target": "Listolier",
    423. "value": 4
    424. },
    425. {
    426. "source": "Blacheville",
    427. "target": "Tholomyes",
    428. "value": 4
    429. },
    430. {
    431. "source": "Blacheville",
    432. "target": "Listolier",
    433. "value": 4
    434. },
    435. {
    436. "source": "Blacheville",
    437. "target": "Fameuil",
    438. "value": 4
    439. },
    440. {
    441. "source": "Favourite",
    442. "target": "Tholomyes",
    443. "value": 3
    444. },
    445. {
    446. "source": "Favourite",
    447. "target": "Listolier",
    448. "value": 3
    449. },
    450. {
    451. "source": "Favourite",
    452. "target": "Fameuil",
    453. "value": 3
    454. },
    455. {
    456. "source": "Favourite",
    457. "target": "Blacheville",
    458. "value": 4
    459. },
    460. {
    461. "source": "Dahlia",
    462. "target": "Tholomyes",
    463. "value": 3
    464. },
    465. {
    466. "source": "Dahlia",
    467. "target": "Listolier",
    468. "value": 3
    469. },
    470. {
    471. "source": "Dahlia",
    472. "target": "Fameuil",
    473. "value": 3
    474. },
    475. {
    476. "source": "Dahlia",
    477. "target": "Blacheville",
    478. "value": 3
    479. },
    480. {
    481. "source": "Dahlia",
    482. "target": "Favourite",
    483. "value": 5
    484. },
    485. {
    486. "source": "Zephine",
    487. "target": "Tholomyes",
    488. "value": 3
    489. },
    490. {
    491. "source": "Zephine",
    492. "target": "Listolier",
    493. "value": 3
    494. },
    495. {
    496. "source": "Zephine",
    497. "target": "Fameuil",
    498. "value": 3
    499. },
    500. {
    501. "source": "Zephine",
    502. "target": "Blacheville",
    503. "value": 3
    504. },
    505. {
    506. "source": "Zephine",
    507. "target": "Favourite",
    508. "value": 4
    509. },
    510. {
    511. "source": "Zephine",
    512. "target": "Dahlia",
    513. "value": 4
    514. },
    515. {
    516. "source": "Fantine",
    517. "target": "Tholomyes",
    518. "value": 3
    519. },
    520. {
    521. "source": "Fantine",
    522. "target": "Listolier",
    523. "value": 3
    524. },
    525. {
    526. "source": "Fantine",
    527. "target": "Fameuil",
    528. "value": 3
    529. },
    530. {
    531. "source": "Fantine",
    532. "target": "Blacheville",
    533. "value": 3
    534. },
    535. {
    536. "source": "Fantine",
    537. "target": "Favourite",
    538. "value": 4
    539. },
    540. {
    541. "source": "Fantine",
    542. "target": "Dahlia",
    543. "value": 4
    544. },
    545. {
    546. "source": "Fantine",
    547. "target": "Zephine",
    548. "value": 4
    549. },
    550. {
    551. "source": "Fantine",
    552. "target": "Marguerite",
    553. "value": 2
    554. },
    555. {
    556. "source": "Fantine",
    557. "target": "Valjean",
    558. "value": 9
    559. },
    560. {
    561. "source": "Mme.Thenardier",
    562. "target": "Fantine",
    563. "value": 2
    564. },
    565. {
    566. "source": "Mme.Thenardier",
    567. "target": "Valjean",
    568. "value": 7
    569. },
    570. {
    571. "source": "Thenardier",
    572. "target": "Mme.Thenardier",
    573. "value": 13
    574. },
    575. {
    576. "source": "Thenardier",
    577. "target": "Fantine",
    578. "value": 1
    579. },
    580. {
    581. "source": "Thenardier",
    582. "target": "Valjean",
    583. "value": 12
    584. },
    585. {
    586. "source": "Cosette",
    587. "target": "Mme.Thenardier",
    588. "value": 4
    589. },
    590. {
    591. "source": "Cosette",
    592. "target": "Valjean",
    593. "value": 31
    594. },
    595. {
    596. "source": "Cosette",
    597. "target": "Tholomyes",
    598. "value": 1
    599. },
    600. {
    601. "source": "Cosette",
    602. "target": "Thenardier",
    603. "value": 1
    604. },
    605. {
    606. "source": "Javert",
    607. "target": "Valjean",
    608. "value": 17
    609. },
    610. {
    611. "source": "Javert",
    612. "target": "Fantine",
    613. "value": 5
    614. },
    615. {
    616. "source": "Javert",
    617. "target": "Thenardier",
    618. "value": 5
    619. },
    620. {
    621. "source": "Javert",
    622. "target": "Mme.Thenardier",
    623. "value": 1
    624. },
    625. {
    626. "source": "Javert",
    627. "target": "Cosette",
    628. "value": 1
    629. },
    630. {
    631. "source": "Fauchelevent",
    632. "target": "Valjean",
    633. "value": 8
    634. },
    635. {
    636. "source": "Fauchelevent",
    637. "target": "Javert",
    638. "value": 1
    639. },
    640. {
    641. "source": "Bamatabois",
    642. "target": "Fantine",
    643. "value": 1
    644. },
    645. {
    646. "source": "Bamatabois",
    647. "target": "Javert",
    648. "value": 1
    649. },
    650. {
    651. "source": "Bamatabois",
    652. "target": "Valjean",
    653. "value": 2
    654. },
    655. {
    656. "source": "Perpetue",
    657. "target": "Fantine",
    658. "value": 1
    659. },
    660. {
    661. "source": "Simplice",
    662. "target": "Perpetue",
    663. "value": 2
    664. },
    665. {
    666. "source": "Simplice",
    667. "target": "Valjean",
    668. "value": 3
    669. },
    670. {
    671. "source": "Simplice",
    672. "target": "Fantine",
    673. "value": 2
    674. },
    675. {
    676. "source": "Simplice",
    677. "target": "Javert",
    678. "value": 1
    679. },
    680. {
    681. "source": "Scaufflaire",
    682. "target": "Valjean",
    683. "value": 1
    684. },
    685. {
    686. "source": "Woman1",
    687. "target": "Valjean",
    688. "value": 2
    689. },
    690. {
    691. "source": "Woman1",
    692. "target": "Javert",
    693. "value": 1
    694. },
    695. {
    696. "source": "Judge",
    697. "target": "Valjean",
    698. "value": 3
    699. },
    700. {
    701. "source": "Judge",
    702. "target": "Bamatabois",
    703. "value": 2
    704. },
    705. {
    706. "source": "Champmathieu",
    707. "target": "Valjean",
    708. "value": 3
    709. },
    710. {
    711. "source": "Champmathieu",
    712. "target": "Judge",
    713. "value": 3
    714. },
    715. {
    716. "source": "Champmathieu",
    717. "target": "Bamatabois",
    718. "value": 2
    719. },
    720. {
    721. "source": "Brevet",
    722. "target": "Judge",
    723. "value": 2
    724. },
    725. {
    726. "source": "Brevet",
    727. "target": "Champmathieu",
    728. "value": 2
    729. },
    730. {
    731. "source": "Brevet",
    732. "target": "Valjean",
    733. "value": 2
    734. },
    735. {
    736. "source": "Brevet",
    737. "target": "Bamatabois",
    738. "value": 1
    739. },
    740. {
    741. "source": "Chenildieu",
    742. "target": "Judge",
    743. "value": 2
    744. },
    745. {
    746. "source": "Chenildieu",
    747. "target": "Champmathieu",
    748. "value": 2
    749. },
    750. {
    751. "source": "Chenildieu",
    752. "target": "Brevet",
    753. "value": 2
    754. },
    755. {
    756. "source": "Chenildieu",
    757. "target": "Valjean",
    758. "value": 2
    759. },
    760. {
    761. "source": "Chenildieu",
    762. "target": "Bamatabois",
    763. "value": 1
    764. },
    765. {
    766. "source": "Cochepaille",
    767. "target": "Judge",
    768. "value": 2
    769. },
    770. {
    771. "source": "Cochepaille",
    772. "target": "Champmathieu",
    773. "value": 2
    774. },
    775. {
    776. "source": "Cochepaille",
    777. "target": "Brevet",
    778. "value": 2
    779. },
    780. {
    781. "source": "Cochepaille",
    782. "target": "Chenildieu",
    783. "value": 2
    784. },
    785. {
    786. "source": "Cochepaille",
    787. "target": "Valjean",
    788. "value": 2
    789. },
    790. {
    791. "source": "Cochepaille",
    792. "target": "Bamatabois",
    793. "value": 1
    794. },
    795. {
    796. "source": "Pontmercy",
    797. "target": "Thenardier",
    798. "value": 1
    799. },
    800. {
    801. "source": "Boulatruelle",
    802. "target": "Thenardier",
    803. "value": 1
    804. },
    805. {
    806. "source": "Eponine",
    807. "target": "Mme.Thenardier",
    808. "value": 2
    809. },
    810. {
    811. "source": "Eponine",
    812. "target": "Thenardier",
    813. "value": 3
    814. },
    815. {
    816. "source": "Anzelma",
    817. "target": "Eponine",
    818. "value": 2
    819. },
    820. {
    821. "source": "Anzelma",
    822. "target": "Thenardier",
    823. "value": 2
    824. },
    825. {
    826. "source": "Anzelma",
    827. "target": "Mme.Thenardier",
    828. "value": 1
    829. },
    830. {
    831. "source": "Woman2",
    832. "target": "Valjean",
    833. "value": 3
    834. },
    835. {
    836. "source": "Woman2",
    837. "target": "Cosette",
    838. "value": 1
    839. },
    840. {
    841. "source": "Woman2",
    842. "target": "Javert",
    843. "value": 1
    844. },
    845. {
    846. "source": "MotherInnocent",
    847. "target": "Fauchelevent",
    848. "value": 3
    849. },
    850. {
    851. "source": "MotherInnocent",
    852. "target": "Valjean",
    853. "value": 1
    854. },
    855. {
    856. "source": "Gribier",
    857. "target": "Fauchelevent",
    858. "value": 2
    859. },
    860. {
    861. "source": "Mme.Burgon",
    862. "target": "Jondrette",
    863. "value": 1
    864. },
    865. {
    866. "source": "Gavroche",
    867. "target": "Mme.Burgon",
    868. "value": 2
    869. },
    870. {
    871. "source": "Gavroche",
    872. "target": "Thenardier",
    873. "value": 1
    874. },
    875. {
    876. "source": "Gavroche",
    877. "target": "Javert",
    878. "value": 1
    879. },
    880. {
    881. "source": "Gavroche",
    882. "target": "Valjean",
    883. "value": 1
    884. },
    885. {
    886. "source": "Gillenormand",
    887. "target": "Cosette",
    888. "value": 3
    889. },
    890. {
    891. "source": "Gillenormand",
    892. "target": "Valjean",
    893. "value": 2
    894. },
    895. {
    896. "source": "Magnon",
    897. "target": "Gillenormand",
    898. "value": 1
    899. },
    900. {
    901. "source": "Magnon",
    902. "target": "Mme.Thenardier",
    903. "value": 1
    904. },
    905. {
    906. "source": "Mlle.Gillenormand",
    907. "target": "Gillenormand",
    908. "value": 9
    909. },
    910. {
    911. "source": "Mlle.Gillenormand",
    912. "target": "Cosette",
    913. "value": 2
    914. },
    915. {
    916. "source": "Mlle.Gillenormand",
    917. "target": "Valjean",
    918. "value": 2
    919. },
    920. {
    921. "source": "Mme.Pontmercy",
    922. "target": "Mlle.Gillenormand",
    923. "value": 1
    924. },
    925. {
    926. "source": "Mme.Pontmercy",
    927. "target": "Pontmercy",
    928. "value": 1
    929. },
    930. {
    931. "source": "Mlle.Vaubois",
    932. "target": "Mlle.Gillenormand",
    933. "value": 1
    934. },
    935. {
    936. "source": "Lt.Gillenormand",
    937. "target": "Mlle.Gillenormand",
    938. "value": 2
    939. },
    940. {
    941. "source": "Lt.Gillenormand",
    942. "target": "Gillenormand",
    943. "value": 1
    944. },
    945. {
    946. "source": "Lt.Gillenormand",
    947. "target": "Cosette",
    948. "value": 1
    949. },
    950. {
    951. "source": "Marius",
    952. "target": "Mlle.Gillenormand",
    953. "value": 6
    954. },
    955. {
    956. "source": "Marius",
    957. "target": "Gillenormand",
    958. "value": 12
    959. },
    960. {
    961. "source": "Marius",
    962. "target": "Pontmercy",
    963. "value": 1
    964. },
    965. {
    966. "source": "Marius",
    967. "target": "Lt.Gillenormand",
    968. "value": 1
    969. },
    970. {
    971. "source": "Marius",
    972. "target": "Cosette",
    973. "value": 21
    974. },
    975. {
    976. "source": "Marius",
    977. "target": "Valjean",
    978. "value": 19
    979. },
    980. {
    981. "source": "Marius",
    982. "target": "Tholomyes",
    983. "value": 1
    984. },
    985. {
    986. "source": "Marius",
    987. "target": "Thenardier",
    988. "value": 2
    989. },
    990. {
    991. "source": "Marius",
    992. "target": "Eponine",
    993. "value": 5
    994. },
    995. {
    996. "source": "Marius",
    997. "target": "Gavroche",
    998. "value": 4
    999. },
    1000. {
    1001. "source": "BaronessT",
    1002. "target": "Gillenormand",
    1003. "value": 1
    1004. },
    1005. {
    1006. "source": "BaronessT",
    1007. "target": "Marius",
    1008. "value": 1
    1009. },
    1010. {
    1011. "source": "Mabeuf",
    1012. "target": "Marius",
    1013. "value": 1
    1014. },
    1015. {
    1016. "source": "Mabeuf",
    1017. "target": "Eponine",
    1018. "value": 1
    1019. },
    1020. {
    1021. "source": "Mabeuf",
    1022. "target": "Gavroche",
    1023. "value": 1
    1024. },
    1025. {
    1026. "source": "Enjolras",
    1027. "target": "Marius",
    1028. "value": 7
    1029. },
    1030. {
    1031. "source": "Enjolras",
    1032. "target": "Gavroche",
    1033. "value": 7
    1034. },
    1035. {
    1036. "source": "Enjolras",
    1037. "target": "Javert",
    1038. "value": 6
    1039. },
    1040. {
    1041. "source": "Enjolras",
    1042. "target": "Mabeuf",
    1043. "value": 1
    1044. },
    1045. {
    1046. "source": "Enjolras",
    1047. "target": "Valjean",
    1048. "value": 4
    1049. },
    1050. {
    1051. "source": "Combeferre",
    1052. "target": "Enjolras",
    1053. "value": 15
    1054. },
    1055. {
    1056. "source": "Combeferre",
    1057. "target": "Marius",
    1058. "value": 5
    1059. },
    1060. {
    1061. "source": "Combeferre",
    1062. "target": "Gavroche",
    1063. "value": 6
    1064. },
    1065. {
    1066. "source": "Combeferre",
    1067. "target": "Mabeuf",
    1068. "value": 2
    1069. },
    1070. {
    1071. "source": "Prouvaire",
    1072. "target": "Gavroche",
    1073. "value": 1
    1074. },
    1075. {
    1076. "source": "Prouvaire",
    1077. "target": "Enjolras",
    1078. "value": 4
    1079. },
    1080. {
    1081. "source": "Prouvaire",
    1082. "target": "Combeferre",
    1083. "value": 2
    1084. },
    1085. {
    1086. "source": "Feuilly",
    1087. "target": "Gavroche",
    1088. "value": 2
    1089. },
    1090. {
    1091. "source": "Feuilly",
    1092. "target": "Enjolras",
    1093. "value": 6
    1094. },
    1095. {
    1096. "source": "Feuilly",
    1097. "target": "Prouvaire",
    1098. "value": 2
    1099. },
    1100. {
    1101. "source": "Feuilly",
    1102. "target": "Combeferre",
    1103. "value": 5
    1104. },
    1105. {
    1106. "source": "Feuilly",
    1107. "target": "Mabeuf",
    1108. "value": 1
    1109. },
    1110. {
    1111. "source": "Feuilly",
    1112. "target": "Marius",
    1113. "value": 1
    1114. },
    1115. {
    1116. "source": "Courfeyrac",
    1117. "target": "Marius",
    1118. "value": 9
    1119. },
    1120. {
    1121. "source": "Courfeyrac",
    1122. "target": "Enjolras",
    1123. "value": 17
    1124. },
    1125. {
    1126. "source": "Courfeyrac",
    1127. "target": "Combeferre",
    1128. "value": 13
    1129. },
    1130. {
    1131. "source": "Courfeyrac",
    1132. "target": "Gavroche",
    1133. "value": 7
    1134. },
    1135. {
    1136. "source": "Courfeyrac",
    1137. "target": "Mabeuf",
    1138. "value": 2
    1139. },
    1140. {
    1141. "source": "Courfeyrac",
    1142. "target": "Eponine",
    1143. "value": 1
    1144. },
    1145. {
    1146. "source": "Courfeyrac",
    1147. "target": "Feuilly",
    1148. "value": 6
    1149. },
    1150. {
    1151. "source": "Courfeyrac",
    1152. "target": "Prouvaire",
    1153. "value": 3
    1154. },
    1155. {
    1156. "source": "Bahorel",
    1157. "target": "Combeferre",
    1158. "value": 5
    1159. },
    1160. {
    1161. "source": "Bahorel",
    1162. "target": "Gavroche",
    1163. "value": 5
    1164. },
    1165. {
    1166. "source": "Bahorel",
    1167. "target": "Courfeyrac",
    1168. "value": 6
    1169. },
    1170. {
    1171. "source": "Bahorel",
    1172. "target": "Mabeuf",
    1173. "value": 2
    1174. },
    1175. {
    1176. "source": "Bahorel",
    1177. "target": "Enjolras",
    1178. "value": 4
    1179. },
    1180. {
    1181. "source": "Bahorel",
    1182. "target": "Feuilly",
    1183. "value": 3
    1184. },
    1185. {
    1186. "source": "Bahorel",
    1187. "target": "Prouvaire",
    1188. "value": 2
    1189. },
    1190. {
    1191. "source": "Bahorel",
    1192. "target": "Marius",
    1193. "value": 1
    1194. },
    1195. {
    1196. "source": "Bossuet",
    1197. "target": "Marius",
    1198. "value": 5
    1199. },
    1200. {
    1201. "source": "Bossuet",
    1202. "target": "Courfeyrac",
    1203. "value": 12
    1204. },
    1205. {
    1206. "source": "Bossuet",
    1207. "target": "Gavroche",
    1208. "value": 5
    1209. },
    1210. {
    1211. "source": "Bossuet",
    1212. "target": "Bahorel",
    1213. "value": 4
    1214. },
    1215. {
    1216. "source": "Bossuet",
    1217. "target": "Enjolras",
    1218. "value": 10
    1219. },
    1220. {
    1221. "source": "Bossuet",
    1222. "target": "Feuilly",
    1223. "value": 6
    1224. },
    1225. {
    1226. "source": "Bossuet",
    1227. "target": "Prouvaire",
    1228. "value": 2
    1229. },
    1230. {
    1231. "source": "Bossuet",
    1232. "target": "Combeferre",
    1233. "value": 9
    1234. },
    1235. {
    1236. "source": "Bossuet",
    1237. "target": "Mabeuf",
    1238. "value": 1
    1239. },
    1240. {
    1241. "source": "Bossuet",
    1242. "target": "Valjean",
    1243. "value": 1
    1244. },
    1245. {
    1246. "source": "Joly",
    1247. "target": "Bahorel",
    1248. "value": 5
    1249. },
    1250. {
    1251. "source": "Joly",
    1252. "target": "Bossuet",
    1253. "value": 7
    1254. },
    1255. {
    1256. "source": "Joly",
    1257. "target": "Gavroche",
    1258. "value": 3
    1259. },
    1260. {
    1261. "source": "Joly",
    1262. "target": "Courfeyrac",
    1263. "value": 5
    1264. },
    1265. {
    1266. "source": "Joly",
    1267. "target": "Enjolras",
    1268. "value": 5
    1269. },
    1270. {
    1271. "source": "Joly",
    1272. "target": "Feuilly",
    1273. "value": 5
    1274. },
    1275. {
    1276. "source": "Joly",
    1277. "target": "Prouvaire",
    1278. "value": 2
    1279. },
    1280. {
    1281. "source": "Joly",
    1282. "target": "Combeferre",
    1283. "value": 5
    1284. },
    1285. {
    1286. "source": "Joly",
    1287. "target": "Mabeuf",
    1288. "value": 1
    1289. },
    1290. {
    1291. "source": "Joly",
    1292. "target": "Marius",
    1293. "value": 2
    1294. },
    1295. {
    1296. "source": "Grantaire",
    1297. "target": "Bossuet",
    1298. "value": 3
    1299. },
    1300. {
    1301. "source": "Grantaire",
    1302. "target": "Enjolras",
    1303. "value": 3
    1304. },
    1305. {
    1306. "source": "Grantaire",
    1307. "target": "Combeferre",
    1308. "value": 1
    1309. },
    1310. {
    1311. "source": "Grantaire",
    1312. "target": "Courfeyrac",
    1313. "value": 2
    1314. },
    1315. {
    1316. "source": "Grantaire",
    1317. "target": "Joly",
    1318. "value": 2
    1319. },
    1320. {
    1321. "source": "Grantaire",
    1322. "target": "Gavroche",
    1323. "value": 1
    1324. },
    1325. {
    1326. "source": "Grantaire",
    1327. "target": "Bahorel",
    1328. "value": 1
    1329. },
    1330. {
    1331. "source": "Grantaire",
    1332. "target": "Feuilly",
    1333. "value": 1
    1334. },
    1335. {
    1336. "source": "Grantaire",
    1337. "target": "Prouvaire",
    1338. "value": 1
    1339. },
    1340. {
    1341. "source": "MotherPlutarch",
    1342. "target": "Mabeuf",
    1343. "value": 3
    1344. },
    1345. {
    1346. "source": "Gueulemer",
    1347. "target": "Thenardier",
    1348. "value": 5
    1349. },
    1350. {
    1351. "source": "Gueulemer",
    1352. "target": "Valjean",
    1353. "value": 1
    1354. },
    1355. {
    1356. "source": "Gueulemer",
    1357. "target": "Mme.Thenardier",
    1358. "value": 1
    1359. },
    1360. {
    1361. "source": "Gueulemer",
    1362. "target": "Javert",
    1363. "value": 1
    1364. },
    1365. {
    1366. "source": "Gueulemer",
    1367. "target": "Gavroche",
    1368. "value": 1
    1369. },
    1370. {
    1371. "source": "Gueulemer",
    1372. "target": "Eponine",
    1373. "value": 1
    1374. },
    1375. {
    1376. "source": "Babet",
    1377. "target": "Thenardier",
    1378. "value": 6
    1379. },
    1380. {
    1381. "source": "Babet",
    1382. "target": "Gueulemer",
    1383. "value": 6
    1384. },
    1385. {
    1386. "source": "Babet",
    1387. "target": "Valjean",
    1388. "value": 1
    1389. },
    1390. {
    1391. "source": "Babet",
    1392. "target": "Mme.Thenardier",
    1393. "value": 1
    1394. },
    1395. {
    1396. "source": "Babet",
    1397. "target": "Javert",
    1398. "value": 2
    1399. },
    1400. {
    1401. "source": "Babet",
    1402. "target": "Gavroche",
    1403. "value": 1
    1404. },
    1405. {
    1406. "source": "Babet",
    1407. "target": "Eponine",
    1408. "value": 1
    1409. },
    1410. {
    1411. "source": "Claquesous",
    1412. "target": "Thenardier",
    1413. "value": 4
    1414. },
    1415. {
    1416. "source": "Claquesous",
    1417. "target": "Babet",
    1418. "value": 4
    1419. },
    1420. {
    1421. "source": "Claquesous",
    1422. "target": "Gueulemer",
    1423. "value": 4
    1424. },
    1425. {
    1426. "source": "Claquesous",
    1427. "target": "Valjean",
    1428. "value": 1
    1429. },
    1430. {
    1431. "source": "Claquesous",
    1432. "target": "Mme.Thenardier",
    1433. "value": 1
    1434. },
    1435. {
    1436. "source": "Claquesous",
    1437. "target": "Javert",
    1438. "value": 1
    1439. },
    1440. {
    1441. "source": "Claquesous",
    1442. "target": "Eponine",
    1443. "value": 1
    1444. },
    1445. {
    1446. "source": "Claquesous",
    1447. "target": "Enjolras",
    1448. "value": 1
    1449. },
    1450. {
    1451. "source": "Montparnasse",
    1452. "target": "Javert",
    1453. "value": 1
    1454. },
    1455. {
    1456. "source": "Montparnasse",
    1457. "target": "Babet",
    1458. "value": 2
    1459. },
    1460. {
    1461. "source": "Montparnasse",
    1462. "target": "Gueulemer",
    1463. "value": 2
    1464. },
    1465. {
    1466. "source": "Montparnasse",
    1467. "target": "Claquesous",
    1468. "value": 2
    1469. },
    1470. {
    1471. "source": "Montparnasse",
    1472. "target": "Valjean",
    1473. "value": 1
    1474. },
    1475. {
    1476. "source": "Montparnasse",
    1477. "target": "Gavroche",
    1478. "value": 1
    1479. },
    1480. {
    1481. "source": "Montparnasse",
    1482. "target": "Eponine",
    1483. "value": 1
    1484. },
    1485. {
    1486. "source": "Montparnasse",
    1487. "target": "Thenardier",
    1488. "value": 1
    1489. },
    1490. {
    1491. "source": "Toussaint",
    1492. "target": "Cosette",
    1493. "value": 2
    1494. },
    1495. {
    1496. "source": "Toussaint",
    1497. "target": "Javert",
    1498. "value": 1
    1499. },
    1500. {
    1501. "source": "Toussaint",
    1502. "target": "Valjean",
    1503. "value": 1
    1504. },
    1505. {
    1506. "source": "Child1",
    1507. "target": "Gavroche",
    1508. "value": 2
    1509. },
    1510. {
    1511. "source": "Child2",
    1512. "target": "Gavroche",
    1513. "value": 2
    1514. },
    1515. {
    1516. "source": "Child2",
    1517. "target": "Child1",
    1518. "value": 3
    1519. },
    1520. {
    1521. "source": "Brujon",
    1522. "target": "Babet",
    1523. "value": 3
    1524. },
    1525. {
    1526. "source": "Brujon",
    1527. "target": "Gueulemer",
    1528. "value": 3
    1529. },
    1530. {
    1531. "source": "Brujon",
    1532. "target": "Thenardier",
    1533. "value": 3
    1534. },
    1535. {
    1536. "source": "Brujon",
    1537. "target": "Gavroche",
    1538. "value": 1
    1539. },
    1540. {
    1541. "source": "Brujon",
    1542. "target": "Eponine",
    1543. "value": 1
    1544. },
    1545. {
    1546. "source": "Brujon",
    1547. "target": "Claquesous",
    1548. "value": 1
    1549. },
    1550. {
    1551. "source": "Brujon",
    1552. "target": "Montparnasse",
    1553. "value": 1
    1554. },
    1555. {
    1556. "source": "Mme.Hucheloup",
    1557. "target": "Bossuet",
    1558. "value": 1
    1559. },
    1560. {
    1561. "source": "Mme.Hucheloup",
    1562. "target": "Joly",
    1563. "value": 1
    1564. },
    1565. {
    1566. "source": "Mme.Hucheloup",
    1567. "target": "Grantaire",
    1568. "value": 1
    1569. },
    1570. {
    1571. "source": "Mme.Hucheloup",
    1572. "target": "Bahorel",
    1573. "value": 1
    1574. },
    1575. {
    1576. "source": "Mme.Hucheloup",
    1577. "target": "Courfeyrac",
    1578. "value": 1
    1579. },
    1580. {
    1581. "source": "Mme.Hucheloup",
    1582. "target": "Gavroche",
    1583. "value": 1
    1584. },
    1585. {
    1586. "source": "Mme.Hucheloup",
    1587. "target": "Enjolras",
    1588. "value": 1
    1589. }
    1590. ];
    1591.  
    1592. var cdata = {
    1593. borderWidth: 1,
    1594. borderColor: '#999',
    1595. type: 'tree',
    1596. plotarea: {},
    1597. options: {
    1598. aspect: 'graph',
    1599. textAttr: 'id',
    1600. minSize: 5,
    1601. maxSize: 5,
    1602. minLinkWidth: 1,
    1603. maxLinkWidth: 5,
    1604.  
    1605. springLength: 50,
    1606. attractionConstant: 0.7,
    1607. repulsionConstant: 900,
    1608. repulsionDistanceFactor: 20,
    1609. weightedNodes: 0,
    1610. weightedLinks: 0,
    1611.  
    1612. node: {
    1613. borderWidth: 0,
    1614. label: {
    1615. visible: false
    1616. }
    1617. },
    1618. link: {
    1619. fastVectorPath: true
    1620. },
    1621. nodes: {
    1622. Valjean: {
    1623. type: 'diamond',
    1624. borderWidth: 1,
    1625. size: 8,
    1626. borderColor: '#333'
    1627. },
    1628. Gavroche: {
    1629. type: 'rpoly6',
    1630. borderWidth: 1,
    1631. size: 8,
    1632. borderColor: '#333'
    1633. },
    1634. Javert: {
    1635. type: 'triangle',
    1636. borderWidth: 1,
    1637. size: 8,
    1638. borderColor: '#333'
    1639. }
    1640. }
    1641. },
    1642. series: connectiondata
    1643. };
    1644.  
    1645. zingchart.render({
    1646. id: 'myChart',
    1647. height: '100%',
    1648. output: 'canvas',
    1649. data: cdata
    1650. });
    1651.  
    1652. });