Skip to content

Instantly share code, notes, and snippets.

@mayblue9
Forked from jschaub30/README.md
Created October 7, 2016 01:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mayblue9/32de2cafe6398eab61bbe318c3fbe360 to your computer and use it in GitHub Desktop.
Save mayblue9/32de2cafe6398eab61bbe318c3fbe360 to your computer and use it in GitHub Desktop.
Graph data visualization using d3js

Data visualization programming assignment 2

In this project, I downloaded 3 datasets from the UCI Network Data Repository.

I first had to write a python script gml2json to convert the graphml format into json.

I then created 2 pages that explored the 3 datasets using d3js.

In general, I found the force directed layouts more interesting but less readable, especially for the "adjnoun" dataset which had the most nodes. I'll tend to use the more readable radial layouts in the future projects, and would try to sort/cluster the data into more interesting displays.

Resources

Creator "Mark Newman on Fri Jul 21 13:00:02 2006"
graph
[
node
[
id 0
label "agreeable"
value 0
]
node
[
id 1
label "man"
value 1
]
node
[
id 2
label "old"
value 0
]
node
[
id 3
label "person"
value 1
]
node
[
id 4
label "anything"
value 1
]
node
[
id 5
label "short"
value 0
]
node
[
id 6
label "arm"
value 1
]
node
[
id 7
label "round"
value 0
]
node
[
id 8
label "aunt"
value 1
]
node
[
id 9
label "first"
value 0
]
node
[
id 10
label "bad"
value 0
]
node
[
id 11
label "air"
value 1
]
node
[
id 12
label "boy"
value 1
]
node
[
id 13
label "beautiful"
value 0
]
node
[
id 14
label "black"
value 0
]
node
[
id 15
label "face"
value 1
]
node
[
id 16
label "letter"
value 1
]
node
[
id 17
label "little"
value 0
]
node
[
id 18
label "young"
value 0
]
node
[
id 19
label "best"
value 0
]
node
[
id 20
label "course"
value 1
]
node
[
id 21
label "friend"
value 1
]
node
[
id 22
label "love"
value 1
]
node
[
id 23
label "part"
value 1
]
node
[
id 24
label "room"
value 1
]
node
[
id 25
label "thing"
value 1
]
node
[
id 26
label "time"
value 1
]
node
[
id 27
label "way"
value 1
]
node
[
id 28
label "better"
value 0
]
node
[
id 29
label "heart"
value 1
]
node
[
id 30
label "mind"
value 1
]
node
[
id 31
label "place"
value 1
]
node
[
id 32
label "right"
value 0
]
node
[
id 33
label "state"
value 1
]
node
[
id 34
label "woman"
value 1
]
node
[
id 35
label "word"
value 1
]
node
[
id 36
label "door"
value 1
]
node
[
id 37
label "eye"
value 1
]
node
[
id 38
label "bright"
value 0
]
node
[
id 39
label "evening"
value 1
]
node
[
id 40
label "morning"
value 1
]
node
[
id 41
label "certain"
value 0
]
node
[
id 42
label "day"
value 1
]
node
[
id 43
label "other"
value 0
]
node
[
id 44
label "child"
value 1
]
node
[
id 45
label "happy"
value 0
]
node
[
id 46
label "common"
value 0
]
node
[
id 47
label "dark"
value 0
]
node
[
id 48
label "kind"
value 0
]
node
[
id 49
label "night"
value 1
]
node
[
id 50
label "dear"
value 0
]
node
[
id 51
label "good"
value 0
]
node
[
id 52
label "home"
value 1
]
node
[
id 53
label "mother"
value 1
]
node
[
id 54
label "pretty"
value 0
]
node
[
id 55
label "open"
value 0
]
node
[
id 56
label "early"
value 0
]
node
[
id 57
label "fire"
value 1
]
node
[
id 58
label "full"
value 0
]
node
[
id 59
label "great"
value 0
]
node
[
id 60
label "master"
value 1
]
node
[
id 61
label "moment"
value 1
]
node
[
id 62
label "work"
value 1
]
node
[
id 63
label "general"
value 0
]
node
[
id 64
label "fancy"
value 0
]
node
[
id 65
label "voice"
value 1
]
node
[
id 66
label "head"
value 1
]
node
[
id 67
label "hope"
value 1
]
node
[
id 68
label "long"
value 0
]
node
[
id 69
label "greater"
value 0
]
node
[
id 70
label "hand"
value 1
]
node
[
id 71
label "hard"
value 0
]
node
[
id 72
label "red"
value 0
]
node
[
id 73
label "life"
value 1
]
node
[
id 74
label "glad"
value 0
]
node
[
id 75
label "large"
value 0
]
node
[
id 76
label "new"
value 0
]
node
[
id 77
label "white"
value 0
]
node
[
id 78
label "late"
value 0
]
node
[
id 79
label "whole"
value 0
]
node
[
id 80
label "light"
value 0
]
node
[
id 81
label "manner"
value 1
]
node
[
id 82
label "bed"
value 1
]
node
[
id 83
label "house"
value 1
]
node
[
id 84
label "low"
value 0
]
node
[
id 85
label "money"
value 1
]
node
[
id 86
label "ready"
value 0
]
node
[
id 87
label "small"
value 0
]
node
[
id 88
label "strange"
value 0
]
node
[
id 89
label "thought"
value 1
]
node
[
id 90
label "lost"
value 0
]
node
[
id 91
label "alone"
value 0
]
node
[
id 92
label "nothing"
value 1
]
node
[
id 93
label "miserable"
value 0
]
node
[
id 94
label "natural"
value 0
]
node
[
id 95
label "half"
value 1
]
node
[
id 96
label "wrong"
value 0
]
node
[
id 97
label "name"
value 1
]
node
[
id 98
label "pleasant"
value 0
]
node
[
id 99
label "possible"
value 0
]
node
[
id 100
label "side"
value 1
]
node
[
id 101
label "perfect"
value 0
]
node
[
id 102
label "poor"
value 0
]
node
[
id 103
label "quiet"
value 0
]
node
[
id 104
label "same"
value 0
]
node
[
id 105
label "strong"
value 0
]
node
[
id 106
label "something"
value 1
]
node
[
id 107
label "true"
value 0
]
node
[
id 108
label "usual"
value 0
]
node
[
id 109
label "family"
value 1
]
node
[
id 110
label "world"
value 1
]
node
[
id 111
label "year"
value 1
]
edge
[
source 1
target 0
]
edge
[
source 2
target 0
]
edge
[
source 2
target 1
]
edge
[
source 3
target 0
]
edge
[
source 3
target 2
]
edge
[
source 5
target 4
]
edge
[
source 6
target 5
]
edge
[
source 7
target 6
]
edge
[
source 9
target 1
]
edge
[
source 9
target 2
]
edge
[
source 9
target 3
]
edge
[
source 9
target 8
]
edge
[
source 10
target 3
]
edge
[
source 11
target 2
]
edge
[
source 11
target 10
]
edge
[
source 12
target 9
]
edge
[
source 12
target 10
]
edge
[
source 14
target 1
]
edge
[
source 14
target 2
]
edge
[
source 14
target 13
]
edge
[
source 15
target 7
]
edge
[
source 15
target 13
]
edge
[
source 16
target 13
]
edge
[
source 16
target 14
]
edge
[
source 17
target 1
]
edge
[
source 17
target 2
]
edge
[
source 17
target 5
]
edge
[
source 17
target 7
]
edge
[
source 17
target 9
]
edge
[
source 17
target 12
]
edge
[
source 17
target 13
]
edge
[
source 17
target 14
]
edge
[
source 17
target 15
]
edge
[
source 18
target 1
]
edge
[
source 18
target 3
]
edge
[
source 18
target 12
]
edge
[
source 18
target 13
]
edge
[
source 19
target 1
]
edge
[
source 20
target 19
]
edge
[
source 21
target 2
]
edge
[
source 21
target 7
]
edge
[
source 21
target 17
]
edge
[
source 21
target 18
]
edge
[
source 21
target 19
]
edge
[
source 22
target 2
]
edge
[
source 22
target 17
]
edge
[
source 22
target 19
]
edge
[
source 23
target 2
]
edge
[
source 23
target 19
]
edge
[
source 24
target 2
]
edge
[
source 24
target 9
]
edge
[
source 24
target 17
]
edge
[
source 24
target 19
]
edge
[
source 25
target 2
]
edge
[
source 25
target 9
]
edge
[
source 25
target 14
]
edge
[
source 25
target 17
]
edge
[
source 25
target 19
]
edge
[
source 26
target 2
]
edge
[
source 26
target 9
]
edge
[
source 26
target 17
]
edge
[
source 26
target 19
]
edge
[
source 27
target 2
]
edge
[
source 27
target 5
]
edge
[
source 27
target 17
]
edge
[
source 27
target 19
]
edge
[
source 28
target 1
]
edge
[
source 28
target 17
]
edge
[
source 28
target 21
]
edge
[
source 29
target 18
]
edge
[
source 29
target 28
]
edge
[
source 30
target 25
]
edge
[
source 30
target 28
]
edge
[
source 31
target 2
]
edge
[
source 31
target 17
]
edge
[
source 31
target 28
]
edge
[
source 32
target 5
]
edge
[
source 32
target 6
]
edge
[
source 32
target 15
]
edge
[
source 32
target 17
]
edge
[
source 32
target 28
]
edge
[
source 32
target 31
]
edge
[
source 33
target 28
]
edge
[
source 34
target 2
]
edge
[
source 34
target 17
]
edge
[
source 34
target 18
]
edge
[
source 34
target 28
]
edge
[
source 35
target 17
]
edge
[
source 35
target 28
]
edge
[
source 36
target 2
]
edge
[
source 36
target 14
]
edge
[
source 36
target 17
]
edge
[
source 36
target 24
]
edge
[
source 37
target 7
]
edge
[
source 37
target 14
]
edge
[
source 37
target 17
]
edge
[
source 38
target 7
]
edge
[
source 38
target 15
]
edge
[
source 38
target 17
]
edge
[
source 38
target 37
]
edge
[
source 39
target 5
]
edge
[
source 39
target 9
]
edge
[
source 39
target 38
]
edge
[
source 40
target 9
]
edge
[
source 40
target 11
]
edge
[
source 40
target 38
]
edge
[
source 41
target 1
]
edge
[
source 41
target 2
]
edge
[
source 41
target 3
]
edge
[
source 41
target 25
]
edge
[
source 41
target 31
]
edge
[
source 41
target 38
]
edge
[
source 42
target 2
]
edge
[
source 42
target 9
]
edge
[
source 42
target 41
]
edge
[
source 43
target 3
]
edge
[
source 43
target 5
]
edge
[
source 43
target 12
]
edge
[
source 43
target 15
]
edge
[
source 43
target 17
]
edge
[
source 43
target 18
]
edge
[
source 43
target 20
]
edge
[
source 43
target 21
]
edge
[
source 43
target 23
]
edge
[
source 43
target 24
]
edge
[
source 43
target 26
]
edge
[
source 43
target 27
]
edge
[
source 43
target 31
]
edge
[
source 43
target 36
]
edge
[
source 43
target 39
]
edge
[
source 43
target 41
]
edge
[
source 44
target 17
]
edge
[
source 44
target 18
]
edge
[
source 44
target 28
]
edge
[
source 44
target 43
]
edge
[
source 45
target 1
]
edge
[
source 45
target 2
]
edge
[
source 45
target 22
]
edge
[
source 45
target 44
]
edge
[
source 46
target 1
]
edge
[
source 46
target 25
]
edge
[
source 47
target 23
]
edge
[
source 47
target 24
]
edge
[
source 47
target 37
]
edge
[
source 48
target 15
]
edge
[
source 48
target 21
]
edge
[
source 48
target 25
]
edge
[
source 48
target 35
]
edge
[
source 48
target 43
]
edge
[
source 48
target 47
]
edge
[
source 49
target 24
]
edge
[
source 49
target 47
]
edge
[
source 50
target 2
]
edge
[
source 50
target 10
]
edge
[
source 50
target 12
]
edge
[
source 50
target 17
]
edge
[
source 50
target 18
]
edge
[
source 50
target 21
]
edge
[
source 50
target 44
]
edge
[
source 50
target 48
]
edge
[
source 51
target 1
]
edge
[
source 51
target 2
]
edge
[
source 51
target 3
]
edge
[
source 51
target 6
]
edge
[
source 51
target 7
]
edge
[
source 51
target 17
]
edge
[
source 51
target 18
]
edge
[
source 51
target 21
]
edge
[
source 51
target 23
]
edge
[
source 51
target 25
]
edge
[
source 51
target 26
]
edge
[
source 51
target 30
]
edge
[
source 51
target 31
]
edge
[
source 51
target 32
]
edge
[
source 51
target 34
]
edge
[
source 51
target 35
]
edge
[
source 51
target 38
]
edge
[
source 51
target 42
]
edge
[
source 51
target 49
]
edge
[
source 51
target 50
]
edge
[
source 52
target 6
]
edge
[
source 52
target 17
]
edge
[
source 52
target 27
]
edge
[
source 52
target 32
]
edge
[
source 52
target 45
]
edge
[
source 52
target 50
]
edge
[
source 53
target 18
]
edge
[
source 53
target 50
]
edge
[
source 54
target 2
]
edge
[
source 54
target 17
]
edge
[
source 54
target 18
]
edge
[
source 54
target 27
]
edge
[
source 54
target 34
]
edge
[
source 54
target 50
]
edge
[
source 54
target 51
]
edge
[
source 54
target 53
]
edge
[
source 55
target 6
]
edge
[
source 55
target 36
]
edge
[
source 56
target 26
]
edge
[
source 56
target 40
]
edge
[
source 56
target 42
]
edge
[
source 56
target 52
]
edge
[
source 57
target 37
]
edge
[
source 57
target 51
]
edge
[
source 58
target 29
]
edge
[
source 58
target 37
]
edge
[
source 59
target 9
]
edge
[
source 59
target 14
]
edge
[
source 59
target 23
]
edge
[
source 59
target 25
]
edge
[
source 59
target 37
]
edge
[
source 59
target 43
]
edge
[
source 59
target 49
]
edge
[
source 59
target 51
]
edge
[
source 60
target 9
]
edge
[
source 60
target 18
]
edge
[
source 61
target 9
]
edge
[
source 62
target 9
]
edge
[
source 63
target 11
]
edge
[
source 63
target 27
]
edge
[
source 63
target 43
]
edge
[
source 64
target 63
]
edge
[
source 65
target 17
]
edge
[
source 65
target 59
]
edge
[
source 65
target 63
]
edge
[
source 66
target 2
]
edge
[
source 66
target 17
]
edge
[
source 66
target 43
]
edge
[
source 66
target 51
]
edge
[
source 67
target 17
]
edge
[
source 67
target 51
]
edge
[
source 68
target 14
]
edge
[
source 68
target 16
]
edge
[
source 68
target 24
]
edge
[
source 68
target 26
]
edge
[
source 68
target 27
]
edge
[
source 68
target 49
]
edge
[
source 68
target 51
]
edge
[
source 68
target 54
]
edge
[
source 69
target 11
]
edge
[
source 69
target 23
]
edge
[
source 70
target 7
]
edge
[
source 70
target 17
]
edge
[
source 70
target 32
]
edge
[
source 70
target 43
]
edge
[
source 70
target 54
]
edge
[
source 70
target 55
]
edge
[
source 70
target 59
]
edge
[
source 70
target 68
]
edge
[
source 71
target 14
]
edge
[
source 71
target 35
]
edge
[
source 71
target 59
]
edge
[
source 71
target 60
]
edge
[
source 71
target 62
]
edge
[
source 72
target 17
]
edge
[
source 72
target 37
]
edge
[
source 72
target 54
]
edge
[
source 72
target 59
]
edge
[
source 72
target 66
]
edge
[
source 73
target 2
]
edge
[
source 73
target 45
]
edge
[
source 73
target 53
]
edge
[
source 73
target 68
]
edge
[
source 73
target 71
]
edge
[
source 74
target 29
]
edge
[
source 75
target 7
]
edge
[
source 75
target 15
]
edge
[
source 75
target 24
]
edge
[
source 75
target 54
]
edge
[
source 75
target 57
]
edge
[
source 75
target 66
]
edge
[
source 75
target 68
]
edge
[
source 75
target 70
]
edge
[
source 76
target 15
]
edge
[
source 76
target 24
]
edge
[
source 76
target 27
]
edge
[
source 76
target 33
]
edge
[
source 76
target 48
]
edge
[
source 76
target 60
]
edge
[
source 76
target 67
]
edge
[
source 76
target 73
]
edge
[
source 76
target 75
]
edge
[
source 77
target 17
]
edge
[
source 77
target 25
]
edge
[
source 77
target 75
]
edge
[
source 78
target 50
]
edge
[
source 78
target 54
]
edge
[
source 79
target 15
]
edge
[
source 79
target 20
]
edge
[
source 79
target 26
]
edge
[
source 79
target 27
]
edge
[
source 79
target 29
]
edge
[
source 79
target 30
]
edge
[
source 79
target 31
]
edge
[
source 79
target 42
]
edge
[
source 79
target 78
]
edge
[
source 80
target 17
]
edge
[
source 80
target 26
]
edge
[
source 80
target 27
]
edge
[
source 80
target 43
]
edge
[
source 80
target 72
]
edge
[
source 80
target 76
]
edge
[
source 81
target 43
]
edge
[
source 81
target 79
]
edge
[
source 81
target 80
]
edge
[
source 82
target 17
]
edge
[
source 83
target 2
]
edge
[
source 83
target 17
]
edge
[
source 83
target 43
]
edge
[
source 83
target 79
]
edge
[
source 84
target 17
]
edge
[
source 84
target 30
]
edge
[
source 84
target 33
]
edge
[
source 84
target 65
]
edge
[
source 84
target 68
]
edge
[
source 85
target 3
]
edge
[
source 85
target 17
]
edge
[
source 86
target 17
]
edge
[
source 86
target 31
]
edge
[
source 87
target 7
]
edge
[
source 87
target 12
]
edge
[
source 87
target 17
]
edge
[
source 87
target 24
]
edge
[
source 87
target 27
]
edge
[
source 87
target 36
]
edge
[
source 87
target 65
]
edge
[
source 87
target 67
]
edge
[
source 87
target 70
]
edge
[
source 87
target 83
]
edge
[
source 88
target 12
]
edge
[
source 88
target 15
]
edge
[
source 88
target 17
]
edge
[
source 88
target 25
]
edge
[
source 88
target 48
]
edge
[
source 89
target 4
]
edge
[
source 89
target 9
]
edge
[
source 89
target 17
]
edge
[
source 89
target 28
]
edge
[
source 89
target 53
]
edge
[
source 90
target 42
]
edge
[
source 91
target 1
]
edge
[
source 92
target 28
]
edge
[
source 92
target 30
]
edge
[
source 92
target 76
]
edge
[
source 92
target 89
]
edge
[
source 93
target 2
]
edge
[
source 93
target 17
]
edge
[
source 94
target 20
]
edge
[
source 94
target 22
]
edge
[
source 94
target 81
]
edge
[
source 95
target 92
]
edge
[
source 96
target 27
]
edge
[
source 96
target 92
]
edge
[
source 97
target 2
]
edge
[
source 98
target 2
]
edge
[
source 98
target 11
]
edge
[
source 98
target 17
]
edge
[
source 98
target 43
]
edge
[
source 98
target 81
]
edge
[
source 99
target 43
]
edge
[
source 99
target 89
]
edge
[
source 100
target 32
]
edge
[
source 100
target 43
]
edge
[
source 101
target 51
]
edge
[
source 101
target 60
]
edge
[
source 102
target 1
]
edge
[
source 102
target 2
]
edge
[
source 102
target 12
]
edge
[
source 102
target 13
]
edge
[
source 102
target 17
]
edge
[
source 102
target 44
]
edge
[
source 102
target 50
]
edge
[
source 102
target 53
]
edge
[
source 102
target 66
]
edge
[
source 102
target 70
]
edge
[
source 103
target 17
]
edge
[
source 103
target 24
]
edge
[
source 103
target 27
]
edge
[
source 103
target 31
]
edge
[
source 103
target 37
]
edge
[
source 103
target 39
]
edge
[
source 103
target 65
]
edge
[
source 103
target 73
]
edge
[
source 104
target 2
]
edge
[
source 104
target 11
]
edge
[
source 104
target 12
]
edge
[
source 104
target 15
]
edge
[
source 104
target 17
]
edge
[
source 104
target 24
]
edge
[
source 104
target 25
]
edge
[
source 104
target 26
]
edge
[
source 104
target 31
]
edge
[
source 104
target 33
]
edge
[
source 104
target 35
]
edge
[
source 104
target 38
]
edge
[
source 104
target 46
]
edge
[
source 104
target 48
]
edge
[
source 104
target 50
]
edge
[
source 104
target 59
]
edge
[
source 104
target 61
]
edge
[
source 104
target 81
]
edge
[
source 104
target 84
]
edge
[
source 104
target 103
]
edge
[
source 105
target 2
]
edge
[
source 105
target 14
]
edge
[
source 105
target 23
]
edge
[
source 105
target 70
]
edge
[
source 105
target 72
]
edge
[
source 105
target 104
]
edge
[
source 106
target 7
]
edge
[
source 106
target 51
]
edge
[
source 106
target 76
]
edge
[
source 106
target 80
]
edge
[
source 106
target 88
]
edge
[
source 106
target 96
]
edge
[
source 107
target 33
]
edge
[
source 107
target 34
]
edge
[
source 108
target 20
]
edge
[
source 108
target 24
]
edge
[
source 108
target 31
]
edge
[
source 108
target 105
]
edge
[
source 109
target 79
]
edge
[
source 110
target 79
]
edge
[
source 110
target 100
]
edge
[
source 111
target 2
]
]
{
"nodes":[
{"id":0, "label":"agreeable", "value":0},
{"id":1, "label":"man", "value":1},
{"id":2, "label":"old", "value":0},
{"id":3, "label":"person", "value":1},
{"id":4, "label":"anything", "value":1},
{"id":5, "label":"short", "value":0},
{"id":6, "label":"arm", "value":1},
{"id":7, "label":"round", "value":0},
{"id":8, "label":"aunt", "value":1},
{"id":9, "label":"first", "value":0},
{"id":10, "label":"bad", "value":0},
{"id":11, "label":"air", "value":1},
{"id":12, "label":"boy", "value":1},
{"id":13, "label":"beautiful", "value":0},
{"id":14, "label":"black", "value":0},
{"id":15, "label":"face", "value":1},
{"id":16, "label":"letter", "value":1},
{"id":17, "label":"little", "value":0},
{"id":18, "label":"young", "value":0},
{"id":19, "label":"best", "value":0},
{"id":20, "label":"course", "value":1},
{"id":21, "label":"friend", "value":1},
{"id":22, "label":"love", "value":1},
{"id":23, "label":"part", "value":1},
{"id":24, "label":"room", "value":1},
{"id":25, "label":"thing", "value":1},
{"id":26, "label":"time", "value":1},
{"id":27, "label":"way", "value":1},
{"id":28, "label":"better", "value":0},
{"id":29, "label":"heart", "value":1},
{"id":30, "label":"mind", "value":1},
{"id":31, "label":"place", "value":1},
{"id":32, "label":"right", "value":0},
{"id":33, "label":"state", "value":1},
{"id":34, "label":"woman", "value":1},
{"id":35, "label":"word", "value":1},
{"id":36, "label":"door", "value":1},
{"id":37, "label":"eye", "value":1},
{"id":38, "label":"bright", "value":0},
{"id":39, "label":"evening", "value":1},
{"id":40, "label":"morning", "value":1},
{"id":41, "label":"certain", "value":0},
{"id":42, "label":"day", "value":1},
{"id":43, "label":"other", "value":0},
{"id":44, "label":"child", "value":1},
{"id":45, "label":"happy", "value":0},
{"id":46, "label":"common", "value":0},
{"id":47, "label":"dark", "value":0},
{"id":48, "label":"kind", "value":0},
{"id":49, "label":"night", "value":1},
{"id":50, "label":"dear", "value":0},
{"id":51, "label":"good", "value":0},
{"id":52, "label":"home", "value":1},
{"id":53, "label":"mother", "value":1},
{"id":54, "label":"pretty", "value":0},
{"id":55, "label":"open", "value":0},
{"id":56, "label":"early", "value":0},
{"id":57, "label":"fire", "value":1},
{"id":58, "label":"full", "value":0},
{"id":59, "label":"great", "value":0},
{"id":60, "label":"master", "value":1},
{"id":61, "label":"moment", "value":1},
{"id":62, "label":"work", "value":1},
{"id":63, "label":"general", "value":0},
{"id":64, "label":"fancy", "value":0},
{"id":65, "label":"voice", "value":1},
{"id":66, "label":"head", "value":1},
{"id":67, "label":"hope", "value":1},
{"id":68, "label":"long", "value":0},
{"id":69, "label":"greater", "value":0},
{"id":70, "label":"hand", "value":1},
{"id":71, "label":"hard", "value":0},
{"id":72, "label":"red", "value":0},
{"id":73, "label":"life", "value":1},
{"id":74, "label":"glad", "value":0},
{"id":75, "label":"large", "value":0},
{"id":76, "label":"new", "value":0},
{"id":77, "label":"white", "value":0},
{"id":78, "label":"late", "value":0},
{"id":79, "label":"whole", "value":0},
{"id":80, "label":"light", "value":0},
{"id":81, "label":"manner", "value":1},
{"id":82, "label":"bed", "value":1},
{"id":83, "label":"house", "value":1},
{"id":84, "label":"low", "value":0},
{"id":85, "label":"money", "value":1},
{"id":86, "label":"ready", "value":0},
{"id":87, "label":"small", "value":0},
{"id":88, "label":"strange", "value":0},
{"id":89, "label":"thought", "value":1},
{"id":90, "label":"lost", "value":0},
{"id":91, "label":"alone", "value":0},
{"id":92, "label":"nothing", "value":1},
{"id":93, "label":"miserable", "value":0},
{"id":94, "label":"natural", "value":0},
{"id":95, "label":"half", "value":1},
{"id":96, "label":"wrong", "value":0},
{"id":97, "label":"name", "value":1},
{"id":98, "label":"pleasant", "value":0},
{"id":99, "label":"possible", "value":0},
{"id":100, "label":"side", "value":1},
{"id":101, "label":"perfect", "value":0},
{"id":102, "label":"poor", "value":0},
{"id":103, "label":"quiet", "value":0},
{"id":104, "label":"same", "value":0},
{"id":105, "label":"strong", "value":0},
{"id":106, "label":"something", "value":1},
{"id":107, "label":"true", "value":0},
{"id":108, "label":"usual", "value":0},
{"id":109, "label":"family", "value":1},
{"id":110, "label":"world", "value":1},
{"id":111, "label":"year", "value":1}
],
"links":[
{"source":1, "target":0},
{"source":2, "target":0},
{"source":2, "target":1},
{"source":3, "target":0},
{"source":3, "target":2},
{"source":5, "target":4},
{"source":6, "target":5},
{"source":7, "target":6},
{"source":9, "target":1},
{"source":9, "target":2},
{"source":9, "target":3},
{"source":9, "target":8},
{"source":10, "target":3},
{"source":11, "target":2},
{"source":11, "target":10},
{"source":12, "target":9},
{"source":12, "target":10},
{"source":14, "target":1},
{"source":14, "target":2},
{"source":14, "target":13},
{"source":15, "target":7},
{"source":15, "target":13},
{"source":16, "target":13},
{"source":16, "target":14},
{"source":17, "target":1},
{"source":17, "target":2},
{"source":17, "target":5},
{"source":17, "target":7},
{"source":17, "target":9},
{"source":17, "target":12},
{"source":17, "target":13},
{"source":17, "target":14},
{"source":17, "target":15},
{"source":18, "target":1},
{"source":18, "target":3},
{"source":18, "target":12},
{"source":18, "target":13},
{"source":19, "target":1},
{"source":20, "target":19},
{"source":21, "target":2},
{"source":21, "target":7},
{"source":21, "target":17},
{"source":21, "target":18},
{"source":21, "target":19},
{"source":22, "target":2},
{"source":22, "target":17},
{"source":22, "target":19},
{"source":23, "target":2},
{"source":23, "target":19},
{"source":24, "target":2},
{"source":24, "target":9},
{"source":24, "target":17},
{"source":24, "target":19},
{"source":25, "target":2},
{"source":25, "target":9},
{"source":25, "target":14},
{"source":25, "target":17},
{"source":25, "target":19},
{"source":26, "target":2},
{"source":26, "target":9},
{"source":26, "target":17},
{"source":26, "target":19},
{"source":27, "target":2},
{"source":27, "target":5},
{"source":27, "target":17},
{"source":27, "target":19},
{"source":28, "target":1},
{"source":28, "target":17},
{"source":28, "target":21},
{"source":29, "target":18},
{"source":29, "target":28},
{"source":30, "target":25},
{"source":30, "target":28},
{"source":31, "target":2},
{"source":31, "target":17},
{"source":31, "target":28},
{"source":32, "target":5},
{"source":32, "target":6},
{"source":32, "target":15},
{"source":32, "target":17},
{"source":32, "target":28},
{"source":32, "target":31},
{"source":33, "target":28},
{"source":34, "target":2},
{"source":34, "target":17},
{"source":34, "target":18},
{"source":34, "target":28},
{"source":35, "target":17},
{"source":35, "target":28},
{"source":36, "target":2},
{"source":36, "target":14},
{"source":36, "target":17},
{"source":36, "target":24},
{"source":37, "target":7},
{"source":37, "target":14},
{"source":37, "target":17},
{"source":38, "target":7},
{"source":38, "target":15},
{"source":38, "target":17},
{"source":38, "target":37},
{"source":39, "target":5},
{"source":39, "target":9},
{"source":39, "target":38},
{"source":40, "target":9},
{"source":40, "target":11},
{"source":40, "target":38},
{"source":41, "target":1},
{"source":41, "target":2},
{"source":41, "target":3},
{"source":41, "target":25},
{"source":41, "target":31},
{"source":41, "target":38},
{"source":42, "target":2},
{"source":42, "target":9},
{"source":42, "target":41},
{"source":43, "target":3},
{"source":43, "target":5},
{"source":43, "target":12},
{"source":43, "target":15},
{"source":43, "target":17},
{"source":43, "target":18},
{"source":43, "target":20},
{"source":43, "target":21},
{"source":43, "target":23},
{"source":43, "target":24},
{"source":43, "target":26},
{"source":43, "target":27},
{"source":43, "target":31},
{"source":43, "target":36},
{"source":43, "target":39},
{"source":43, "target":41},
{"source":44, "target":17},
{"source":44, "target":18},
{"source":44, "target":28},
{"source":44, "target":43},
{"source":45, "target":1},
{"source":45, "target":2},
{"source":45, "target":22},
{"source":45, "target":44},
{"source":46, "target":1},
{"source":46, "target":25},
{"source":47, "target":23},
{"source":47, "target":24},
{"source":47, "target":37},
{"source":48, "target":15},
{"source":48, "target":21},
{"source":48, "target":25},
{"source":48, "target":35},
{"source":48, "target":43},
{"source":48, "target":47},
{"source":49, "target":24},
{"source":49, "target":47},
{"source":50, "target":2},
{"source":50, "target":10},
{"source":50, "target":12},
{"source":50, "target":17},
{"source":50, "target":18},
{"source":50, "target":21},
{"source":50, "target":44},
{"source":50, "target":48},
{"source":51, "target":1},
{"source":51, "target":2},
{"source":51, "target":3},
{"source":51, "target":6},
{"source":51, "target":7},
{"source":51, "target":17},
{"source":51, "target":18},
{"source":51, "target":21},
{"source":51, "target":23},
{"source":51, "target":25},
{"source":51, "target":26},
{"source":51, "target":30},
{"source":51, "target":31},
{"source":51, "target":32},
{"source":51, "target":34},
{"source":51, "target":35},
{"source":51, "target":38},
{"source":51, "target":42},
{"source":51, "target":49},
{"source":51, "target":50},
{"source":52, "target":6},
{"source":52, "target":17},
{"source":52, "target":27},
{"source":52, "target":32},
{"source":52, "target":45},
{"source":52, "target":50},
{"source":53, "target":18},
{"source":53, "target":50},
{"source":54, "target":2},
{"source":54, "target":17},
{"source":54, "target":18},
{"source":54, "target":27},
{"source":54, "target":34},
{"source":54, "target":50},
{"source":54, "target":51},
{"source":54, "target":53},
{"source":55, "target":6},
{"source":55, "target":36},
{"source":56, "target":26},
{"source":56, "target":40},
{"source":56, "target":42},
{"source":56, "target":52},
{"source":57, "target":37},
{"source":57, "target":51},
{"source":58, "target":29},
{"source":58, "target":37},
{"source":59, "target":9},
{"source":59, "target":14},
{"source":59, "target":23},
{"source":59, "target":25},
{"source":59, "target":37},
{"source":59, "target":43},
{"source":59, "target":49},
{"source":59, "target":51},
{"source":60, "target":9},
{"source":60, "target":18},
{"source":61, "target":9},
{"source":62, "target":9},
{"source":63, "target":11},
{"source":63, "target":27},
{"source":63, "target":43},
{"source":64, "target":63},
{"source":65, "target":17},
{"source":65, "target":59},
{"source":65, "target":63},
{"source":66, "target":2},
{"source":66, "target":17},
{"source":66, "target":43},
{"source":66, "target":51},
{"source":67, "target":17},
{"source":67, "target":51},
{"source":68, "target":14},
{"source":68, "target":16},
{"source":68, "target":24},
{"source":68, "target":26},
{"source":68, "target":27},
{"source":68, "target":49},
{"source":68, "target":51},
{"source":68, "target":54},
{"source":69, "target":11},
{"source":69, "target":23},
{"source":70, "target":7},
{"source":70, "target":17},
{"source":70, "target":32},
{"source":70, "target":43},
{"source":70, "target":54},
{"source":70, "target":55},
{"source":70, "target":59},
{"source":70, "target":68},
{"source":71, "target":14},
{"source":71, "target":35},
{"source":71, "target":59},
{"source":71, "target":60},
{"source":71, "target":62},
{"source":72, "target":17},
{"source":72, "target":37},
{"source":72, "target":54},
{"source":72, "target":59},
{"source":72, "target":66},
{"source":73, "target":2},
{"source":73, "target":45},
{"source":73, "target":53},
{"source":73, "target":68},
{"source":73, "target":71},
{"source":74, "target":29},
{"source":75, "target":7},
{"source":75, "target":15},
{"source":75, "target":24},
{"source":75, "target":54},
{"source":75, "target":57},
{"source":75, "target":66},
{"source":75, "target":68},
{"source":75, "target":70},
{"source":76, "target":15},
{"source":76, "target":24},
{"source":76, "target":27},
{"source":76, "target":33},
{"source":76, "target":48},
{"source":76, "target":60},
{"source":76, "target":67},
{"source":76, "target":73},
{"source":76, "target":75},
{"source":77, "target":17},
{"source":77, "target":25},
{"source":77, "target":75},
{"source":78, "target":50},
{"source":78, "target":54},
{"source":79, "target":15},
{"source":79, "target":20},
{"source":79, "target":26},
{"source":79, "target":27},
{"source":79, "target":29},
{"source":79, "target":30},
{"source":79, "target":31},
{"source":79, "target":42},
{"source":79, "target":78},
{"source":80, "target":17},
{"source":80, "target":26},
{"source":80, "target":27},
{"source":80, "target":43},
{"source":80, "target":72},
{"source":80, "target":76},
{"source":81, "target":43},
{"source":81, "target":79},
{"source":81, "target":80},
{"source":82, "target":17},
{"source":83, "target":2},
{"source":83, "target":17},
{"source":83, "target":43},
{"source":83, "target":79},
{"source":84, "target":17},
{"source":84, "target":30},
{"source":84, "target":33},
{"source":84, "target":65},
{"source":84, "target":68},
{"source":85, "target":3},
{"source":85, "target":17},
{"source":86, "target":17},
{"source":86, "target":31},
{"source":87, "target":7},
{"source":87, "target":12},
{"source":87, "target":17},
{"source":87, "target":24},
{"source":87, "target":27},
{"source":87, "target":36},
{"source":87, "target":65},
{"source":87, "target":67},
{"source":87, "target":70},
{"source":87, "target":83},
{"source":88, "target":12},
{"source":88, "target":15},
{"source":88, "target":17},
{"source":88, "target":25},
{"source":88, "target":48},
{"source":89, "target":4},
{"source":89, "target":9},
{"source":89, "target":17},
{"source":89, "target":28},
{"source":89, "target":53},
{"source":90, "target":42},
{"source":91, "target":1},
{"source":92, "target":28},
{"source":92, "target":30},
{"source":92, "target":76},
{"source":92, "target":89},
{"source":93, "target":2},
{"source":93, "target":17},
{"source":94, "target":20},
{"source":94, "target":22},
{"source":94, "target":81},
{"source":95, "target":92},
{"source":96, "target":27},
{"source":96, "target":92},
{"source":97, "target":2},
{"source":98, "target":2},
{"source":98, "target":11},
{"source":98, "target":17},
{"source":98, "target":43},
{"source":98, "target":81},
{"source":99, "target":43},
{"source":99, "target":89},
{"source":100, "target":32},
{"source":100, "target":43},
{"source":101, "target":51},
{"source":101, "target":60},
{"source":102, "target":1},
{"source":102, "target":2},
{"source":102, "target":12},
{"source":102, "target":13},
{"source":102, "target":17},
{"source":102, "target":44},
{"source":102, "target":50},
{"source":102, "target":53},
{"source":102, "target":66},
{"source":102, "target":70},
{"source":103, "target":17},
{"source":103, "target":24},
{"source":103, "target":27},
{"source":103, "target":31},
{"source":103, "target":37},
{"source":103, "target":39},
{"source":103, "target":65},
{"source":103, "target":73},
{"source":104, "target":2},
{"source":104, "target":11},
{"source":104, "target":12},
{"source":104, "target":15},
{"source":104, "target":17},
{"source":104, "target":24},
{"source":104, "target":25},
{"source":104, "target":26},
{"source":104, "target":31},
{"source":104, "target":33},
{"source":104, "target":35},
{"source":104, "target":38},
{"source":104, "target":46},
{"source":104, "target":48},
{"source":104, "target":50},
{"source":104, "target":59},
{"source":104, "target":61},
{"source":104, "target":81},
{"source":104, "target":84},
{"source":104, "target":103},
{"source":105, "target":2},
{"source":105, "target":14},
{"source":105, "target":23},
{"source":105, "target":70},
{"source":105, "target":72},
{"source":105, "target":104},
{"source":106, "target":7},
{"source":106, "target":51},
{"source":106, "target":76},
{"source":106, "target":80},
{"source":106, "target":88},
{"source":106, "target":96},
{"source":107, "target":33},
{"source":107, "target":34},
{"source":108, "target":20},
{"source":108, "target":24},
{"source":108, "target":31},
{"source":108, "target":105},
{"source":109, "target":79},
{"source":110, "target":79},
{"source":110, "target":100},
{"source":111, "target":2}
]
}
#!/usr/bin/env python
import sys
def gml_sub(blob):
lines = []
for line in blob.split('\n'):
line = line.strip()
lines.append(line)
blob = "\n".join(lines)
blob = blob.replace('\n\n', '\n')
blob = blob.replace(']\n', '},\n')
blob = blob.replace('[\n', '{')
blob = blob.replace('\n{', '\n {')
for s in ['id ', 'label ', 'source ', 'target ', 'value ']:
blob = blob.replace(s, '"%s":' % s.strip())
blob = blob.replace('\n"', ', "')
blob = blob.replace('\n}', '}')
return blob.strip('\n')
def main(graphfile):
"""
Converts GraphML file to json
Usage:
>>> python convert.py mygraph.gml
"""
with open(graphfile, 'r') as f:
blob = f.read()
blob = ''.join(blob.split('node')[1:])
nodes = blob.split('edge')[0]
edges = ''.join(blob.split('edge')[1:]).strip().rstrip(']')
nodes = gml_sub(nodes)
edges = gml_sub(edges)
print '{\n "nodes":['
print nodes.rstrip(',')
print ' ],\n "links":['
print ' ' + edges.rstrip(',')
print ' ]\n}\n'
if __name__ == '__main__':
main(sys.argv[1])
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3 Force Directed Graph Visualization Demo</title>
<style>
body {
font-family: 'Source Sans Pro', sans-serif;
}
.link {
stroke: #999;
stroke-opacity: .6;
}
.node text {
pointer-events: none;
font: 10px sans-serif;
}
.button {
width: 200px;
margin: 1em;
}
</style>
</head>
<body>
<div id="option">
<input name="button0" type="button" class="button" value="Lesmis" onclick="read_json('lesmis.json')" />
<input name="button1" type="button" class="button" value="Karate" onclick="read_json('karate.json')" />
<input name="button2" type="button" class="button" value="AdjNoun" onclick="read_json('adjnoun.json')" />
</div>
Compare this to the <a href="index_radial.html">radial graph layout</a>.
<div id="graph"> </div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js"></script>
<script src="script.js"></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>D3 Radial Graph Visualization Demo</title>
<!-- JavaScript Libraries //-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js"></script>
<!-- CSS Style //-->
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="option">
<input name="button0" type="button" class="button" value="Lesmis" onclick="read_json('lesmis.json')" />
<input name="button1" type="button" class="button" value="Karate" onclick="read_json('karate.json')" />
<input name="button2" type="button" class="button" value="AdjNoun" onclick="read_json('adjnoun.json')" />
</div>
Compare this to the <a href="index.html">force directed graph layout</a>.
<div align="center" id="circle"></div>
<script src="script_radial.js"></script>
</body>
</html>
Creator "Mark Newman on Fri Jul 21 12:39:27 2006"
graph
[
node
[
id 1
]
node
[
id 2
]
node
[
id 3
]
node
[
id 4
]
node
[
id 5
]
node
[
id 6
]
node
[
id 7
]
node
[
id 8
]
node
[
id 9
]
node
[
id 10
]
node
[
id 11
]
node
[
id 12
]
node
[
id 13
]
node
[
id 14
]
node
[
id 15
]
node
[
id 16
]
node
[
id 17
]
node
[
id 18
]
node
[
id 19
]
node
[
id 20
]
node
[
id 21
]
node
[
id 22
]
node
[
id 23
]
node
[
id 24
]
node
[
id 25
]
node
[
id 26
]
node
[
id 27
]
node
[
id 28
]
node
[
id 29
]
node
[
id 30
]
node
[
id 31
]
node
[
id 32
]
node
[
id 33
]
node
[
id 34
]
edge
[
source 2
target 1
]
edge
[
source 3
target 1
]
edge
[
source 3
target 2
]
edge
[
source 4
target 1
]
edge
[
source 4
target 2
]
edge
[
source 4
target 3
]
edge
[
source 5
target 1
]
edge
[
source 6
target 1
]
edge
[
source 7
target 1
]
edge
[
source 7
target 5
]
edge
[
source 7
target 6
]
edge
[
source 8
target 1
]
edge
[
source 8
target 2
]
edge
[
source 8
target 3
]
edge
[
source 8
target 4
]
edge
[
source 9
target 1
]
edge
[
source 9
target 3
]
edge
[
source 10
target 3
]
edge
[
source 11
target 1
]
edge
[
source 11
target 5
]
edge
[
source 11
target 6
]
edge
[
source 12
target 1
]
edge
[
source 13
target 1
]
edge
[
source 13
target 4
]
edge
[
source 14
target 1
]
edge
[
source 14
target 2
]
edge
[
source 14
target 3
]
edge
[
source 14
target 4
]
edge
[
source 17
target 6
]
edge
[
source 17
target 7
]
edge
[
source 18
target 1
]
edge
[
source 18
target 2
]
edge
[
source 20
target 1
]
edge
[
source 20
target 2
]
edge
[
source 22
target 1
]
edge
[
source 22
target 2
]
edge
[
source 26
target 24
]
edge
[
source 26
target 25
]
edge
[
source 28
target 3
]
edge
[
source 28
target 24
]
edge
[
source 28
target 25
]
edge
[
source 29
target 3
]
edge
[
source 30
target 24
]
edge
[
source 30
target 27
]
edge
[
source 31
target 2
]
edge
[
source 31
target 9
]
edge
[
source 32
target 1
]
edge
[
source 32
target 25
]
edge
[
source 32
target 26
]
edge
[
source 32
target 29
]
edge
[
source 33
target 3
]
edge
[
source 33
target 9
]
edge
[
source 33
target 15
]
edge
[
source 33
target 16
]
edge
[
source 33
target 19
]
edge
[
source 33
target 21
]
edge
[
source 33
target 23
]
edge
[
source 33
target 24
]
edge
[
source 33
target 30
]
edge
[
source 33
target 31
]
edge
[
source 33
target 32
]
edge
[
source 34
target 9
]
edge
[
source 34
target 10
]
edge
[
source 34
target 14
]
edge
[
source 34
target 15
]
edge
[
source 34
target 16
]
edge
[
source 34
target 19
]
edge
[
source 34
target 20
]
edge
[
source 34
target 21
]
edge
[
source 34
target 23
]
edge
[
source 34
target 24
]
edge
[
source 34
target 27
]
edge
[
source 34
target 28
]
edge
[
source 34
target 29
]
edge
[
source 34
target 30
]
edge
[
source 34
target 31
]
edge
[
source 34
target 32
]
edge
[
source 34
target 33
]
]
{
"nodes":[
{},
{"id": 1},
{"id": 2},
{"id": 3},
{"id": 4},
{"id": 5},
{"id": 6},
{"id": 7},
{"id": 8},
{"id": 9},
{"id": 10},
{"id": 11},
{"id": 12},
{"id": 13},
{"id": 14},
{"id": 15},
{"id": 16},
{"id": 17},
{"id": 18},
{"id": 19},
{"id": 20},
{"id": 21},
{"id": 22},
{"id": 23},
{"id": 24},
{"id": 25},
{"id": 26},
{"id": 27},
{"id": 28},
{"id": 29},
{"id": 30},
{"id": 31},
{"id": 32},
{"id": 33},
{"id": 34}
],
"links":[
{"source": 2, "target": 1},
{"source": 3, "target": 1},
{"source": 3, "target": 2},
{"source": 4, "target": 1},
{"source": 4, "target": 2},
{"source": 4, "target": 3},
{"source": 5, "target": 1},
{"source": 6, "target": 1},
{"source": 7, "target": 1},
{"source": 7, "target": 5},
{"source": 7, "target": 6},
{"source": 8, "target": 1},
{"source": 8, "target": 2},
{"source": 8, "target": 3},
{"source": 8, "target": 4},
{"source": 9, "target": 1},
{"source": 9, "target": 3},
{"source": 10, "target": 3},
{"source": 11, "target": 1},
{"source": 11, "target": 5},
{"source": 11, "target": 6},
{"source": 12, "target": 1},
{"source": 13, "target": 1},
{"source": 13, "target": 4},
{"source": 14, "target": 1},
{"source": 14, "target": 2},
{"source": 14, "target": 3},
{"source": 14, "target": 4},
{"source": 17, "target": 6},
{"source": 17, "target": 7},
{"source": 18, "target": 1},
{"source": 18, "target": 2},
{"source": 20, "target": 1},
{"source": 20, "target": 2},
{"source": 22, "target": 1},
{"source": 22, "target": 2},
{"source": 26, "target": 24},
{"source": 26, "target": 25},
{"source": 28, "target": 3},
{"source": 28, "target": 24},
{"source": 28, "target": 25},
{"source": 29, "target": 3},
{"source": 30, "target": 24},
{"source": 30, "target": 27},
{"source": 31, "target": 2},
{"source": 31, "target": 9},
{"source": 32, "target": 1},
{"source": 32, "target": 25},
{"source": 32, "target": 26},
{"source": 32, "target": 29},
{"source": 33, "target": 3},
{"source": 33, "target": 9},
{"source": 33, "target": 15},
{"source": 33, "target": 16},
{"source": 33, "target": 19},
{"source": 33, "target": 21},
{"source": 33, "target": 23},
{"source": 33, "target": 24},
{"source": 33, "target": 30},
{"source": 33, "target": 31},
{"source": 33, "target": 32},
{"source": 34, "target": 9},
{"source": 34, "target": 10},
{"source": 34, "target": 14},
{"source": 34, "target": 15},
{"source": 34, "target": 16},
{"source": 34, "target": 19},
{"source": 34, "target": 20},
{"source": 34, "target": 21},
{"source": 34, "target": 23},
{"source": 34, "target": 24},
{"source": 34, "target": 27},
{"source": 34, "target": 28},
{"source": 34, "target": 29},
{"source": 34, "target": 30},
{"source": 34, "target": 31},
{"source": 34, "target": 32},
{"source": 34, "target": 33}
]
}
The file karate.gml contains the network of friendships between the 34
members of a karate club at a US university, as described by Wayne Zachary
in 1977. If you use these data in your work, please cite W. W. Zachary, An
information flow model for conflict and fission in small groups, Journal of
Anthropological Research 33, 452-473 (1977).
Creator "Mark Newman on Fri Jul 21 12:44:53 2006"
graph
[
node
[
id 0
label "Myriel"
]
node
[
id 1
label "Napoleon"
]
node
[
id 2
label "MlleBaptistine"
]
node
[
id 3
label "MmeMagloire"
]
node
[
id 4
label "CountessDeLo"
]
node
[
id 5
label "Geborand"
]
node
[
id 6
label "Champtercier"
]
node
[
id 7
label "Cravatte"
]
node
[
id 8
label "Count"
]
node
[
id 9
label "OldMan"
]
node
[
id 10
label "Labarre"
]
node
[
id 11
label "Valjean"
]
node
[
id 12
label "Marguerite"
]
node
[
id 13
label "MmeDeR"
]
node
[
id 14
label "Isabeau"
]
node
[
id 15
label "Gervais"
]
node
[
id 16
label "Tholomyes"
]
node
[
id 17
label "Listolier"
]
node
[
id 18
label "Fameuil"
]
node
[
id 19
label "Blacheville"
]
node
[
id 20
label "Favourite"
]
node
[
id 21
label "Dahlia"
]
node
[
id 22
label "Zephine"
]
node
[
id 23
label "Fantine"
]
node
[
id 24
label "MmeThenardier"
]
node
[
id 25
label "Thenardier"
]
node
[
id 26
label "Cosette"
]
node
[
id 27
label "Javert"
]
node
[
id 28
label "Fauchelevent"
]
node
[
id 29
label "Bamatabois"
]
node
[
id 30
label "Perpetue"
]
node
[
id 31
label "Simplice"
]
node
[
id 32
label "Scaufflaire"
]
node
[
id 33
label "Woman1"
]
node
[
id 34
label "Judge"
]
node
[
id 35
label "Champmathieu"
]
node
[
id 36
label "Brevet"
]
node
[
id 37
label "Chenildieu"
]
node
[
id 38
label "Cochepaille"
]
node
[
id 39
label "Pontmercy"
]
node
[
id 40
label "Boulatruelle"
]
node
[
id 41
label "Eponine"
]
node
[
id 42
label "Anzelma"
]
node
[
id 43
label "Woman2"
]
node
[
id 44
label "MotherInnocent"
]
node
[
id 45
label "Gribier"
]
node
[
id 46
label "Jondrette"
]
node
[
id 47
label "MmeBurgon"
]
node
[
id 48
label "Gavroche"
]
node
[
id 49
label "Gillenormand"
]
node
[
id 50
label "Magnon"
]
node
[
id 51
label "MlleGillenormand"
]
node
[
id 52
label "MmePontmercy"
]
node
[
id 53
label "MlleVaubois"
]
node
[
id 54
label "LtGillenormand"
]
node
[
id 55
label "Marius"
]
node
[
id 56
label "BaronessT"
]
node
[
id 57
label "Mabeuf"
]
node
[
id 58
label "Enjolras"
]
node
[
id 59
label "Combeferre"
]
node
[
id 60
label "Prouvaire"
]
node
[
id 61
label "Feuilly"
]
node
[
id 62
label "Courfeyrac"
]
node
[
id 63
label "Bahorel"
]
node
[
id 64
label "Bossuet"
]
node
[
id 65
label "Joly"
]
node
[
id 66
label "Grantaire"
]
node
[
id 67
label "MotherPlutarch"
]
node
[
id 68
label "Gueulemer"
]
node
[
id 69
label "Babet"
]
node
[
id 70
label "Claquesous"
]
node
[
id 71
label "Montparnasse"
]
node
[
id 72
label "Toussaint"
]
node
[
id 73
label "Child1"
]
node
[
id 74
label "Child2"
]
node
[
id 75
label "Brujon"
]
node
[
id 76
label "MmeHucheloup"
]
edge
[
source 1
target 0
value 1
]
edge
[
source 2
target 0
value 8
]
edge
[
source 3
target 0
value 10
]
edge
[
source 3
target 2
value 6
]
edge
[
source 4
target 0
value 1
]
edge
[
source 5
target 0
value 1
]
edge
[
source 6
target 0
value 1
]
edge
[
source 7
target 0
value 1
]
edge
[
source 8
target 0
value 2
]
edge
[
source 9
target 0
value 1
]
edge
[
source 11
target 10
value 1
]
edge
[
source 11
target 3
value 3
]
edge
[
source 11
target 2
value 3
]
edge
[
source 11
target 0
value 5
]
edge
[
source 12
target 11
value 1
]
edge
[
source 13
target 11
value 1
]
edge
[
source 14
target 11
value 1
]
edge
[
source 15
target 11
value 1
]
edge
[
source 17
target 16
value 4
]
edge
[
source 18
target 16
value 4
]
edge
[
source 18
target 17
value 4
]
edge
[
source 19
target 16
value 4
]
edge
[
source 19
target 17
value 4
]
edge
[
source 19
target 18
value 4
]
edge
[
source 20
target 16
value 3
]
edge
[
source 20
target 17
value 3
]
edge
[
source 20
target 18
value 3
]
edge
[
source 20
target 19
value 4
]
edge
[
source 21
target 16
value 3
]
edge
[
source 21
target 17
value 3
]
edge
[
source 21
target 18
value 3
]
edge
[
source 21
target 19
value 3
]
edge
[
source 21
target 20
value 5
]
edge
[
source 22
target 16
value 3
]
edge
[
source 22
target 17
value 3
]
edge
[
source 22
target 18
value 3
]
edge
[
source 22
target 19
value 3
]
edge
[
source 22
target 20
value 4
]
edge
[
source 22
target 21
value 4
]
edge
[
source 23
target 16
value 3
]
edge
[
source 23
target 17
value 3
]
edge
[
source 23
target 18
value 3
]
edge
[
source 23
target 19
value 3
]
edge
[
source 23
target 20
value 4
]
edge
[
source 23
target 21
value 4
]
edge
[
source 23
target 22
value 4
]
edge
[
source 23
target 12
value 2
]
edge
[
source 23
target 11
value 9
]
edge
[
source 24
target 23
value 2
]
edge
[
source 24
target 11
value 7
]
edge
[
source 25
target 24
value 13
]
edge
[
source 25
target 23
value 1
]
edge
[
source 25
target 11
value 12
]
edge
[
source 26
target 24
value 4
]
edge
[
source 26
target 11
value 31
]
edge
[
source 26
target 16
value 1
]
edge
[
source 26
target 25
value 1
]
edge
[
source 27
target 11
value 17
]
edge
[
source 27
target 23
value 5
]
edge
[
source 27
target 25
value 5
]
edge
[
source 27
target 24
value 1
]
edge
[
source 27
target 26
value 1
]
edge
[
source 28
target 11
value 8
]
edge
[
source 28
target 27
value 1
]
edge
[
source 29
target 23
value 1
]
edge
[
source 29
target 27
value 1
]
edge
[
source 29
target 11
value 2
]
edge
[
source 30
target 23
value 1
]
edge
[
source 31
target 30
value 2
]
edge
[
source 31
target 11
value 3
]
edge
[
source 31
target 23
value 2
]
edge
[
source 31
target 27
value 1
]
edge
[
source 32
target 11
value 1
]
edge
[
source 33
target 11
value 2
]
edge
[
source 33
target 27
value 1
]
edge
[
source 34
target 11
value 3
]
edge
[
source 34
target 29
value 2
]
edge
[
source 35
target 11
value 3
]
edge
[
source 35
target 34
value 3
]
edge
[
source 35
target 29
value 2
]
edge
[
source 36
target 34
value 2
]
edge
[
source 36
target 35
value 2
]
edge
[
source 36
target 11
value 2
]
edge
[
source 36
target 29
value 1
]
edge
[
source 37
target 34
value 2
]
edge
[
source 37
target 35
value 2
]
edge
[
source 37
target 36
value 2
]
edge
[
source 37
target 11
value 2
]
edge
[
source 37
target 29
value 1
]
edge
[
source 38
target 34
value 2
]
edge
[
source 38
target 35
value 2
]
edge
[
source 38
target 36
value 2
]
edge
[
source 38
target 37
value 2
]
edge
[
source 38
target 11
value 2
]
edge
[
source 38
target 29
value 1
]
edge
[
source 39
target 25
value 1
]
edge
[
source 40
target 25
value 1
]
edge
[
source 41
target 24
value 2
]
edge
[
source 41
target 25
value 3
]
edge
[
source 42
target 41
value 2
]
edge
[
source 42
target 25
value 2
]
edge
[
source 42
target 24
value 1
]
edge
[
source 43
target 11
value 3
]
edge
[
source 43
target 26
value 1
]
edge
[
source 43
target 27
value 1
]
edge
[
source 44
target 28
value 3
]
edge
[
source 44
target 11
value 1
]
edge
[
source 45
target 28
value 2
]
edge
[
source 47
target 46
value 1
]
edge
[
source 48
target 47
value 2
]
edge
[
source 48
target 25
value 1
]
edge
[
source 48
target 27
value 1
]
edge
[
source 48
target 11
value 1
]
edge
[
source 49
target 26
value 3
]
edge
[
source 49
target 11
value 2
]
edge
[
source 50
target 49
value 1
]
edge
[
source 50
target 24
value 1
]
edge
[
source 51
target 49
value 9
]
edge
[
source 51
target 26
value 2
]
edge
[
source 51
target 11
value 2
]
edge
[
source 52
target 51
value 1
]
edge
[
source 52
target 39
value 1
]
edge
[
source 53
target 51
value 1
]
edge
[
source 54
target 51
value 2
]
edge
[
source 54
target 49
value 1
]
edge
[
source 54
target 26
value 1
]
edge
[
source 55
target 51
value 6
]
edge
[
source 55
target 49
value 12
]
edge
[
source 55
target 39
value 1
]
edge
[
source 55
target 54
value 1
]
edge
[
source 55
target 26
value 21
]
edge
[
source 55
target 11
value 19
]
edge
[
source 55
target 16
value 1
]
edge
[
source 55
target 25
value 2
]
edge
[
source 55
target 41
value 5
]
edge
[
source 55
target 48
value 4
]
edge
[
source 56
target 49
value 1
]
edge
[
source 56
target 55
value 1
]
edge
[
source 57
target 55
value 1
]
edge
[
source 57
target 41
value 1
]
edge
[
source 57
target 48
value 1
]
edge
[
source 58
target 55
value 7
]
edge
[
source 58
target 48
value 7
]
edge
[
source 58
target 27
value 6
]
edge
[
source 58
target 57
value 1
]
edge
[
source 58
target 11
value 4
]
edge
[
source 59
target 58
value 15
]
edge
[
source 59
target 55
value 5
]
edge
[
source 59
target 48
value 6
]
edge
[
source 59
target 57
value 2
]
edge
[
source 60
target 48
value 1
]
edge
[
source 60
target 58
value 4
]
edge
[
source 60
target 59
value 2
]
edge
[
source 61
target 48
value 2
]
edge
[
source 61
target 58
value 6
]
edge
[
source 61
target 60
value 2
]
edge
[
source 61
target 59
value 5
]
edge
[
source 61
target 57
value 1
]
edge
[
source 61
target 55
value 1
]
edge
[
source 62
target 55
value 9
]
edge
[
source 62
target 58
value 17
]
edge
[
source 62
target 59
value 13
]
edge
[
source 62
target 48
value 7
]
edge
[
source 62
target 57
value 2
]
edge
[
source 62
target 41
value 1
]
edge
[
source 62
target 61
value 6
]
edge
[
source 62
target 60
value 3
]
edge
[
source 63
target 59
value 5
]
edge
[
source 63
target 48
value 5
]
edge
[
source 63
target 62
value 6
]
edge
[
source 63
target 57
value 2
]
edge
[
source 63
target 58
value 4
]
edge
[
source 63
target 61
value 3
]
edge
[
source 63
target 60
value 2
]
edge
[
source 63
target 55
value 1
]
edge
[
source 64
target 55
value 5
]
edge
[
source 64
target 62
value 12
]
edge
[
source 64
target 48
value 5
]
edge
[
source 64
target 63
value 4
]
edge
[
source 64
target 58
value 10
]
edge
[
source 64
target 61
value 6
]
edge
[
source 64
target 60
value 2
]
edge
[
source 64
target 59
value 9
]
edge
[
source 64
target 57
value 1
]
edge
[
source 64
target 11
value 1
]
edge
[
source 65
target 63
value 5
]
edge
[
source 65
target 64
value 7
]
edge
[
source 65
target 48
value 3
]
edge
[
source 65
target 62
value 5
]
edge
[
source 65
target 58
value 5
]
edge
[
source 65
target 61
value 5
]
edge
[
source 65
target 60
value 2
]
edge
[
source 65
target 59
value 5
]
edge
[
source 65
target 57
value 1
]
edge
[
source 65
target 55
value 2
]
edge
[
source 66
target 64
value 3
]
edge
[
source 66
target 58
value 3
]
edge
[
source 66
target 59
value 1
]
edge
[
source 66
target 62
value 2
]
edge
[
source 66
target 65
value 2
]
edge
[
source 66
target 48
value 1
]
edge
[
source 66
target 63
value 1
]
edge
[
source 66
target 61
value 1
]
edge
[
source 66
target 60
value 1
]
edge
[
source 67
target 57
value 3
]
edge
[
source 68
target 25
value 5
]
edge
[
source 68
target 11
value 1
]
edge
[
source 68
target 24
value 1
]
edge
[
source 68
target 27
value 1
]
edge
[
source 68
target 48
value 1
]
edge
[
source 68
target 41
value 1
]
edge
[
source 69
target 25
value 6
]
edge
[
source 69
target 68
value 6
]
edge
[
source 69
target 11
value 1
]
edge
[
source 69
target 24
value 1
]
edge
[
source 69
target 27
value 2
]
edge
[
source 69
target 48
value 1
]
edge
[
source 69
target 41
value 1
]
edge
[
source 70
target 25
value 4
]
edge
[
source 70
target 69
value 4
]
edge
[
source 70
target 68
value 4
]
edge
[
source 70
target 11
value 1
]
edge
[
source 70
target 24
value 1
]
edge
[
source 70
target 27
value 1
]
edge
[
source 70
target 41
value 1
]
edge
[
source 70
target 58
value 1
]
edge
[
source 71
target 27
value 1
]
edge
[
source 71
target 69
value 2
]
edge
[
source 71
target 68
value 2
]
edge
[
source 71
target 70
value 2
]
edge
[
source 71
target 11
value 1
]
edge
[
source 71
target 48
value 1
]
edge
[
source 71
target 41
value 1
]
edge
[
source 71
target 25
value 1
]
edge
[
source 72
target 26
value 2
]
edge
[
source 72
target 27
value 1
]
edge
[
source 72
target 11
value 1
]
edge
[
source 73
target 48
value 2
]
edge
[
source 74
target 48
value 2
]
edge
[
source 74
target 73
value 3
]
edge
[
source 75
target 69
value 3
]
edge
[
source 75
target 68
value 3
]
edge
[
source 75
target 25
value 3
]
edge
[
source 75
target 48
value 1
]
edge
[
source 75
target 41
value 1
]
edge
[
source 75
target 70
value 1
]
edge
[
source 75
target 71
value 1
]
edge
[
source 76
target 64
value 1
]
edge
[
source 76
target 65
value 1
]
edge
[
source 76
target 66
value 1
]
edge
[
source 76
target 63
value 1
]
edge
[
source 76
target 62
value 1
]
edge
[
source 76
target 48
value 1
]
edge
[
source 76
target 58
value 1
]
]
{
"nodes":[
{"id":0,"label":"Myriel"},
{"id":1,"label":"Napoleon"},
{"id":2,"label":"MlleBaptistine"},
{"id":3,"label":"MmeMagloire"},
{"id":4,"label":"CountessDeLo"},
{"id":5,"label":"Geborand"},
{"id":6,"label":"Champtercier"},
{"id":7,"label":"Cravatte"},
{"id":8,"label":"Count"},
{"id":9,"label":"OldMan"},
{"id":10,"label":"Labarre"},
{"id":11,"label":"Valjean"},
{"id":12,"label":"Marguerite"},
{"id":13,"label":"MmeDeR"},
{"id":14,"label":"Isabeau"},
{"id":15,"label":"Gervais"},
{"id":16,"label":"Tholomyes"},
{"id":17,"label":"Listolier"},
{"id":18,"label":"Fameuil"},
{"id":19,"label":"Blacheville"},
{"id":20,"label":"Favourite"},
{"id":21,"label":"Dahlia"},
{"id":22,"label":"Zephine"},
{"id":23,"label":"Fantine"},
{"id":24,"label":"MmeThenardier"},
{"id":25,"label":"Thenardier"},
{"id":26,"label":"Cosette"},
{"id":27,"label":"Javert"},
{"id":28,"label":"Fauchelevent"},
{"id":29,"label":"Bamatabois"},
{"id":30,"label":"Perpetue"},
{"id":31,"label":"Simplice"},
{"id":32,"label":"Scaufflaire"},
{"id":33,"label":"Woman1"},
{"id":34,"label":"Judge"},
{"id":35,"label":"Champmathieu"},
{"id":36,"label":"Brevet"},
{"id":37,"label":"Chenildieu"},
{"id":38,"label":"Cochepaille"},
{"id":39,"label":"Pontmercy"},
{"id":40,"label":"Boulatruelle"},
{"id":41,"label":"Eponine"},
{"id":42,"label":"Anzelma"},
{"id":43,"label":"Woman2"},
{"id":44,"label":"MotherInnocent"},
{"id":45,"label":"Gribier"},
{"id":46,"label":"Jondrette"},
{"id":47,"label":"MmeBurgon"},
{"id":48,"label":"Gavroche"},
{"id":49,"label":"Gillenormand"},
{"id":50,"label":"Magnon"},
{"id":51,"label":"MlleGillenormand"},
{"id":52,"label":"MmePontmercy"},
{"id":53,"label":"MlleVaubois"},
{"id":54,"label":"LtGillenormand"},
{"id":55,"label":"Marius"},
{"id":56,"label":"BaronessT"},
{"id":57,"label":"Mabeuf"},
{"id":58,"label":"Enjolras"},
{"id":59,"label":"Combeferre"},
{"id":60,"label":"Prouvaire"},
{"id":61,"label":"Feuilly"},
{"id":62,"label":"Courfeyrac"},
{"id":63,"label":"Bahorel"},
{"id":64,"label":"Bossuet"},
{"id":65,"label":"Joly"},
{"id":66,"label":"Grantaire"},
{"id":67,"label":"MotherPlutarch"},
{"id":68,"label":"Gueulemer"},
{"id":69,"label":"Babet"},
{"id":70,"label":"Claquesous"},
{"id":71,"label":"Montparnasse"},
{"id":72,"label":"Toussaint"},
{"id":73,"label":"Child1"},
{"id":74,"label":"Child2"},
{"id":75,"label":"Brujon"},
{"id":76,"label":"MmeHucheloup"}
],
"links":[
{"source":1,"target":0,"value":1},
{"source":2,"target":0,"value":8},
{"source":3,"target":0,"value":10},
{"source":3,"target":2,"value":6},
{"source":4,"target":0,"value":1},
{"source":5,"target":0,"value":1},
{"source":6,"target":0,"value":1},
{"source":7,"target":0,"value":1},
{"source":8,"target":0,"value":2},
{"source":9,"target":0,"value":1},
{"source":11,"target":10,"value":1},
{"source":11,"target":3,"value":3},
{"source":11,"target":2,"value":3},
{"source":11,"target":0,"value":5},
{"source":12,"target":11,"value":1},
{"source":13,"target":11,"value":1},
{"source":14,"target":11,"value":1},
{"source":15,"target":11,"value":1},
{"source":17,"target":16,"value":4},
{"source":18,"target":16,"value":4},
{"source":18,"target":17,"value":4},
{"source":19,"target":16,"value":4},
{"source":19,"target":17,"value":4},
{"source":19,"target":18,"value":4},
{"source":20,"target":16,"value":3},
{"source":20,"target":17,"value":3},
{"source":20,"target":18,"value":3},
{"source":20,"target":19,"value":4},
{"source":21,"target":16,"value":3},
{"source":21,"target":17,"value":3},
{"source":21,"target":18,"value":3},
{"source":21,"target":19,"value":3},
{"source":21,"target":20,"value":5},
{"source":22,"target":16,"value":3},
{"source":22,"target":17,"value":3},
{"source":22,"target":18,"value":3},
{"source":22,"target":19,"value":3},
{"source":22,"target":20,"value":4},
{"source":22,"target":21,"value":4},
{"source":23,"target":16,"value":3},
{"source":23,"target":17,"value":3},
{"source":23,"target":18,"value":3},
{"source":23,"target":19,"value":3},
{"source":23,"target":20,"value":4},
{"source":23,"target":21,"value":4},
{"source":23,"target":22,"value":4},
{"source":23,"target":12,"value":2},
{"source":23,"target":11,"value":9},
{"source":24,"target":23,"value":2},
{"source":24,"target":11,"value":7},
{"source":25,"target":24,"value":13},
{"source":25,"target":23,"value":1},
{"source":25,"target":11,"value":12},
{"source":26,"target":24,"value":4},
{"source":26,"target":11,"value":31},
{"source":26,"target":16,"value":1},
{"source":26,"target":25,"value":1},
{"source":27,"target":11,"value":17},
{"source":27,"target":23,"value":5},
{"source":27,"target":25,"value":5},
{"source":27,"target":24,"value":1},
{"source":27,"target":26,"value":1},
{"source":28,"target":11,"value":8},
{"source":28,"target":27,"value":1},
{"source":29,"target":23,"value":1},
{"source":29,"target":27,"value":1},
{"source":29,"target":11,"value":2},
{"source":30,"target":23,"value":1},
{"source":31,"target":30,"value":2},
{"source":31,"target":11,"value":3},
{"source":31,"target":23,"value":2},
{"source":31,"target":27,"value":1},
{"source":32,"target":11,"value":1},
{"source":33,"target":11,"value":2},
{"source":33,"target":27,"value":1},
{"source":34,"target":11,"value":3},
{"source":34,"target":29,"value":2},
{"source":35,"target":11,"value":3},
{"source":35,"target":34,"value":3},
{"source":35,"target":29,"value":2},
{"source":36,"target":34,"value":2},
{"source":36,"target":35,"value":2},
{"source":36,"target":11,"value":2},
{"source":36,"target":29,"value":1},
{"source":37,"target":34,"value":2},
{"source":37,"target":35,"value":2},
{"source":37,"target":36,"value":2},
{"source":37,"target":11,"value":2},
{"source":37,"target":29,"value":1},
{"source":38,"target":34,"value":2},
{"source":38,"target":35,"value":2},
{"source":38,"target":36,"value":2},
{"source":38,"target":37,"value":2},
{"source":38,"target":11,"value":2},
{"source":38,"target":29,"value":1},
{"source":39,"target":25,"value":1},
{"source":40,"target":25,"value":1},
{"source":41,"target":24,"value":2},
{"source":41,"target":25,"value":3},
{"source":42,"target":41,"value":2},
{"source":42,"target":25,"value":2},
{"source":42,"target":24,"value":1},
{"source":43,"target":11,"value":3},
{"source":43,"target":26,"value":1},
{"source":43,"target":27,"value":1},
{"source":44,"target":28,"value":3},
{"source":44,"target":11,"value":1},
{"source":45,"target":28,"value":2},
{"source":47,"target":46,"value":1},
{"source":48,"target":47,"value":2},
{"source":48,"target":25,"value":1},
{"source":48,"target":27,"value":1},
{"source":48,"target":11,"value":1},
{"source":49,"target":26,"value":3},
{"source":49,"target":11,"value":2},
{"source":50,"target":49,"value":1},
{"source":50,"target":24,"value":1},
{"source":51,"target":49,"value":9},
{"source":51,"target":26,"value":2},
{"source":51,"target":11,"value":2},
{"source":52,"target":51,"value":1},
{"source":52,"target":39,"value":1},
{"source":53,"target":51,"value":1},
{"source":54,"target":51,"value":2},
{"source":54,"target":49,"value":1},
{"source":54,"target":26,"value":1},
{"source":55,"target":51,"value":6},
{"source":55,"target":49,"value":12},
{"source":55,"target":39,"value":1},
{"source":55,"target":54,"value":1},
{"source":55,"target":26,"value":21},
{"source":55,"target":11,"value":19},
{"source":55,"target":16,"value":1},
{"source":55,"target":25,"value":2},
{"source":55,"target":41,"value":5},
{"source":55,"target":48,"value":4},
{"source":56,"target":49,"value":1},
{"source":56,"target":55,"value":1},
{"source":57,"target":55,"value":1},
{"source":57,"target":41,"value":1},
{"source":57,"target":48,"value":1},
{"source":58,"target":55,"value":7},
{"source":58,"target":48,"value":7},
{"source":58,"target":27,"value":6},
{"source":58,"target":57,"value":1},
{"source":58,"target":11,"value":4},
{"source":59,"target":58,"value":15},
{"source":59,"target":55,"value":5},
{"source":59,"target":48,"value":6},
{"source":59,"target":57,"value":2},
{"source":60,"target":48,"value":1},
{"source":60,"target":58,"value":4},
{"source":60,"target":59,"value":2},
{"source":61,"target":48,"value":2},
{"source":61,"target":58,"value":6},
{"source":61,"target":60,"value":2},
{"source":61,"target":59,"value":5},
{"source":61,"target":57,"value":1},
{"source":61,"target":55,"value":1},
{"source":62,"target":55,"value":9},
{"source":62,"target":58,"value":17},
{"source":62,"target":59,"value":13},
{"source":62,"target":48,"value":7},
{"source":62,"target":57,"value":2},
{"source":62,"target":41,"value":1},
{"source":62,"target":61,"value":6},
{"source":62,"target":60,"value":3},
{"source":63,"target":59,"value":5},
{"source":63,"target":48,"value":5},
{"source":63,"target":62,"value":6},
{"source":63,"target":57,"value":2},
{"source":63,"target":58,"value":4},
{"source":63,"target":61,"value":3},
{"source":63,"target":60,"value":2},
{"source":63,"target":55,"value":1},
{"source":64,"target":55,"value":5},
{"source":64,"target":62,"value":12},
{"source":64,"target":48,"value":5},
{"source":64,"target":63,"value":4},
{"source":64,"target":58,"value":10},
{"source":64,"target":61,"value":6},
{"source":64,"target":60,"value":2},
{"source":64,"target":59,"value":9},
{"source":64,"target":57,"value":1},
{"source":64,"target":11,"value":1},
{"source":65,"target":63,"value":5},
{"source":65,"target":64,"value":7},
{"source":65,"target":48,"value":3},
{"source":65,"target":62,"value":5},
{"source":65,"target":58,"value":5},
{"source":65,"target":61,"value":5},
{"source":65,"target":60,"value":2},
{"source":65,"target":59,"value":5},
{"source":65,"target":57,"value":1},
{"source":65,"target":55,"value":2},
{"source":66,"target":64,"value":3},
{"source":66,"target":58,"value":3},
{"source":66,"target":59,"value":1},
{"source":66,"target":62,"value":2},
{"source":66,"target":65,"value":2},
{"source":66,"target":48,"value":1},
{"source":66,"target":63,"value":1},
{"source":66,"target":61,"value":1},
{"source":66,"target":60,"value":1},
{"source":67,"target":57,"value":3},
{"source":68,"target":25,"value":5},
{"source":68,"target":11,"value":1},
{"source":68,"target":24,"value":1},
{"source":68,"target":27,"value":1},
{"source":68,"target":48,"value":1},
{"source":68,"target":41,"value":1},
{"source":69,"target":25,"value":6},
{"source":69,"target":68,"value":6},
{"source":69,"target":11,"value":1},
{"source":69,"target":24,"value":1},
{"source":69,"target":27,"value":2},
{"source":69,"target":48,"value":1},
{"source":69,"target":41,"value":1},
{"source":70,"target":25,"value":4},
{"source":70,"target":69,"value":4},
{"source":70,"target":68,"value":4},
{"source":70,"target":11,"value":1},
{"source":70,"target":24,"value":1},
{"source":70,"target":27,"value":1},
{"source":70,"target":41,"value":1},
{"source":70,"target":58,"value":1},
{"source":71,"target":27,"value":1},
{"source":71,"target":69,"value":2},
{"source":71,"target":68,"value":2},
{"source":71,"target":70,"value":2},
{"source":71,"target":11,"value":1},
{"source":71,"target":48,"value":1},
{"source":71,"target":41,"value":1},
{"source":71,"target":25,"value":1},
{"source":72,"target":26,"value":2},
{"source":72,"target":27,"value":1},
{"source":72,"target":11,"value":1},
{"source":73,"target":48,"value":2},
{"source":74,"target":48,"value":2},
{"source":74,"target":73,"value":3},
{"source":75,"target":69,"value":3},
{"source":75,"target":68,"value":3},
{"source":75,"target":25,"value":3},
{"source":75,"target":48,"value":1},
{"source":75,"target":41,"value":1},
{"source":75,"target":70,"value":1},
{"source":75,"target":71,"value":1},
{"source":76,"target":64,"value":1},
{"source":76,"target":65,"value":1},
{"source":76,"target":66,"value":1},
{"source":76,"target":63,"value":1},
{"source":76,"target":62,"value":1},
{"source":76,"target":48,"value":1},
{"source":76,"target":58,"value":1}
]
}
The file lesmis.gml contains the weighted network of coappearances of
characters in Victor Hugo's novel "Les Miserables". Nodes represent
characters as indicated by the labels and edges connect any pair of
characters that appear in the same chapter of the book. The values on the
edges are the number of such coappearances. The data on coappearances were
taken from D. E. Knuth, The Stanford GraphBase: A Platform for
Combinatorial Computing, Addison-Wesley, Reading, MA (1993).
var width = 960,
height = 500,
radius = 6;
var force = d3.layout.force()
.gravity(.05)
.charge(-120)
.linkDistance(80)
.size([width, height]);
var header = d3.select("#graph").insert("h1")
.text("Title");
var svg = d3.select("#graph").append("svg")
.attr("width", width)
.attr("height", height);
function update() {
var color = d3.scale.category20();
header.text(filename);
force
.nodes(data.nodes)
.links(data.links)
.start();
var link = svg.selectAll(".link")
.data(data.links);
var node = svg.selectAll(".node")
.data(data.nodes);
node.exit().remove();
link.exit().remove();
link.enter().append("line")
.attr("class", "link")
.style("stroke-width", function(d) {
if ("value" in d) {
return Math.sqrt(d.value);
} else {
return 1;
}
});
var groups = node.enter()
.append("g")
.attr("class", "node");
groups.append("circle").attr("r", function(d) {
if ("id" in d) { return 5; }
else { return 0; }
})
.style("fill", function(d) { return color(d.value); })
.call(force.drag);
groups.append("text")
.attr("dx", 12)
.attr("dy", ".35em")
.text("hi");
node.selectAll("text")
.text(function(d) {
if ("label" in d) {
return d.label;
} else {
return d.id;
}
}
);
force.on("tick", function() {
link.attr("x1", function(d) {
return d.source.x;
})
.attr("y1", function(d) {
return d.source.y;
})
.attr("x2", function(d) {
return d.target.x;
})
.attr("y2", function(d) {
return d.target.y;
});
node.attr("cx", function(d) { return d.x = Math.max(radius, Math.min(width - radius, d.x)); })
.attr("cy", function(d) { return d.y = Math.max(radius, Math.min(height - radius, d.y)); });
node.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; });
});
// EXIT
// Remove old elements as needed.
}
var data;
function clean_nodes(json) {
//I added an extra node to the karate dataset b/c the
//links started with index of 1 instead of 0
if (!('id' in json.nodes[0])) {
json.nodes = json.nodes.slice(1);
json.links.forEach(function (d){
d.source = d.source - 1;
d.target = d.target - 1;
})
}
// if ("value" in json.nodes[0]){
// json.nodes = json.nodes.sort(function(a, b) { return a.value - b.value; });
// }
return json;
}
function read_json(fn){
//Brute force clear data before reading next file
data = {"nodes": [], "links": []};
update();
d3.json(fn, function(error, json) {
if (error) {
throw error;
}
filename = fn;
data = clean_nodes(json);
update();
});
}
var filename = "lesmis.json";
read_json(filename)
var header = d3.select("#circle").insert("h1")
.text("Title");
var diameter = 500,
radius = diameter / 2,
margin = 20,
graph,
filename = "lesmis.json";
// Generates a tooltip for a SVG circle element based on its ID
function addTooltip(circle) {
var x = parseFloat(circle.attr("cx"));
var y = parseFloat(circle.attr("cy"));
var r = parseFloat(circle.attr("r"));
var text = circle.attr("id");
var tooltip = d3.select("#plot")
.append("text")
.text(text)
.attr("x", x)
.attr("y", y)
.attr("dy", -r * 2)
.attr("id", "tooltip");
var offset = tooltip.node().getBBox().width / 2 + 100;
if ((x - offset) < -radius) {
tooltip.attr("text-anchor", "start");
tooltip.attr("dx", -r);
}
else if ((x + offset) > (radius)) {
tooltip.attr("text-anchor", "end");
tooltip.attr("dx", r);
}
else {
tooltip.attr("text-anchor", "middle");
tooltip.attr("dx", 0);
}
}
var svg = d3.select("body").select("#circle")
.append("svg")
.attr("width", diameter + 200)
.attr("height", diameter + 200);
svg.append("g")
.attr("id", "plot")
.attr("transform", "translate(" + (radius + 100) + ", " + (radius + 100) + ")");
// Draws an arc diagram for the provided undirected graph
function drawGraph() {
// create svg image
header.text(filename);
graph.nodes.forEach(function(d, i) {
if ("label" in d) {
graph.nodes[i].name = d.label;
} else {
graph.nodes[i].name = d.id;
}
});
// console.log(graph);
// fix graph links to map to objects instead of indices
graph.links.forEach(function(d, i) {
d.source = isNaN(d.source) ? d.source : graph.nodes[d.source];
d.target = isNaN(d.target) ? d.target : graph.nodes[d.target];
});
// calculate node positions
circleLayout(graph.nodes);
// draw edges first
drawLinks(graph.links);
// drawCurves(graph.links);
// draw nodes last
drawNodes(graph.nodes);
}
// Calculates node locations
function circleLayout(nodes) {
// use to scale node index to theta value
var scale = d3.scale.linear()
.domain([0, nodes.length])
.range([0, 2 * Math.PI]);
// calculate theta for each node
nodes.forEach(function(d, i) {
// calculate polar coordinates
var theta = scale(i);
var radial = radius - margin;
// convert to cartesian coordinates
d.x = radial * Math.sin(theta);
d.x1 = (10+radial) * Math.sin(theta);
d.y = radial * Math.cos(theta);
d.y1 = (10+radial) * Math.cos(theta);
});
}
// Draws nodes with tooltips
function drawNodes(nodes) {
// used to assign nodes color by group
var color = d3.scale.category20();
var nodeData = d3.select("#plot").selectAll(".node")
.data(nodes);
var nodeGroups = nodeData
.enter()
.append("g")
.attr("class", "node");
nodeGroups.append("text")
.attr("class", "rtext")
.attr("x", function(d) { return d.x1; })
.attr("y", function(d) { return d.y1; })
.attr("text-anchor", function(d) { return d.x < 0 ? "end" : "start"; })
.attr("transform", function(d) {
if ( d.x < 0 ) {
return "rotate(" + -d.y1 / 3.14 + ", " + d.x1 + "," + d.y1 + ")";
} else {
return "rotate(" + d.y1 / 3.14 + ", " + d.x1 + "," + d.y1 + ")";
}
})
.text(function(d) { return d.name; });
nodeGroups
.append("circle")
.attr("id", function(d) { return d.name; })
.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; })
.attr("r", 5)
.style("fill", function(d) { return color(d.value); })
.on("mouseover", function() { addTooltip(d3.select(this)); })
.on("mouseout", function() { d3.select("#tooltip").remove(); });
nodeData.exit().remove();
}
// Draws straight edges between nodes
function drawLinks(links) {
var linkData = d3.select("#plot").selectAll(".link")
.data(links);
linkData
.enter()
.append("line")
.attr("class", "link")
.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });
linkData.exit().remove();
}
// Draws curved edges between nodes
function drawCurves(links) {
// remember this from tree example?
var curve = d3.svg.diagonal()
.projection(function(d) { return [d.x, d.y]; });
d3.select("#plot").selectAll(".link")
.data(links)
.enter()
.append("path")
.attr("class", "link")
.attr("d", curve);
}
function clean_nodes(json) {
//I added an extra node to the karate dataset b/c the
//links started with index of 1 instead of 0
var data = json;
if (!("id" in json.nodes[0])) {
data.nodes = json.nodes.slice(1);
data.links.forEach(function (d){
d.source = d.source - 1;
d.target = d.target - 1;
});
}
// if ("value" in json.nodes[0]){
// json.nodes = json.nodes.sort(function(a, b) { return b.value - a.value; });
// }
return data;
}
function read_json(fn){
//Brute force clear data before reading next file
graph = {"nodes": [], "links": []};
drawGraph();
d3.json(fn, function(error, json) {
if (error) {
throw error;
}
filename = fn;
graph = clean_nodes(json);
drawGraph();
});
}
read_json(filename);
body {
font-family: 'Source Sans Pro', sans-serif;
}
b {
font-weight: 900;
}
#tooltip {
font-size: 14pt;
font-weight: 900;
fill: #000000;
stroke: #ffffff;
stroke-width: 0.25px;
}
.node {
stroke: #ffffff;
stroke-weight: 1px;
}
.rtext {
font-size: 10pt;
stroke: #aaa;
stroke-weight: 0px;
}
.link {
fill: none;
stroke: #888888;
stroke-weight: 1px;
stroke-opacity: 0.5;
}
.highlight {
stroke: red;
stroke-weight: 4px;
stroke-opacity: 1.0;
}
.button {
width: 200px;
margin: 1em;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment