An example of how cell splitting could be achieved using examples from the Sparse Matrix Collection
Based on Force Layout & Matrix Market Format
An example of how cell splitting could be achieved using examples from the Sparse Matrix Collection
Based on Force Layout & Matrix Market Format
| %%MatrixMarket matrix coordinate pattern symmetric | |
| %------------------------------------------------------------------------------- | |
| % UF Sparse Matrix Collection, Tim Davis | |
| % http://www.cise.ufl.edu/research/sparse/matrices/HB/can_161 | |
| % name: HB/can_161 | |
| % [SYMMETRIC PATTERN FROM CANNES,LUCIEN MARRO,JUNE 1981.] | |
| % id: 94 | |
| % date: 1981 | |
| % author: L. Marro | |
| % ed: I. Duff, R. Grimes, J. Lewis | |
| % fields: title A name id date author ed kind | |
| % kind: structural problem | |
| %------------------------------------------------------------------------------- | |
| 161 161 769 | |
| 1 1 | |
| 2 1 | |
| 16 1 | |
| 17 1 | |
| 18 1 | |
| 32 1 | |
| 65 1 | |
| 66 1 | |
| 80 1 | |
| 2 2 | |
| 3 2 | |
| 17 2 | |
| 18 2 | |
| 19 2 | |
| 65 2 | |
| 66 2 | |
| 67 2 | |
| 3 3 | |
| 4 3 | |
| 18 3 | |
| 19 3 | |
| 20 3 | |
| 66 3 | |
| 67 3 | |
| 68 3 | |
| 4 4 | |
| 5 4 | |
| 19 4 | |
| 20 4 | |
| 21 4 | |
| 67 4 | |
| 68 4 | |
| 69 4 | |
| 5 5 | |
| 6 5 | |
| 20 5 | |
| 21 5 | |
| 22 5 | |
| 68 5 | |
| 69 5 | |
| 70 5 | |
| 6 6 | |
| 7 6 | |
| 21 6 | |
| 22 6 | |
| 23 6 | |
| 69 6 | |
| 70 6 | |
| 71 6 | |
| 7 7 | |
| 8 7 | |
| 22 7 | |
| 23 7 | |
| 24 7 | |
| 70 7 | |
| 71 7 | |
| 72 7 | |
| 8 8 | |
| 9 8 | |
| 23 8 | |
| 24 8 | |
| 25 8 | |
| 71 8 | |
| 72 8 | |
| 73 8 | |
| 9 9 | |
| 10 9 | |
| 24 9 | |
| 25 9 | |
| 26 9 | |
| 72 9 | |
| 73 9 | |
| 74 9 | |
| 10 10 | |
| 11 10 | |
| 25 10 | |
| 26 10 | |
| 27 10 | |
| 73 10 | |
| 74 10 | |
| 75 10 | |
| 11 11 | |
| 12 11 | |
| 26 11 | |
| 27 11 | |
| 28 11 | |
| 74 11 | |
| 75 11 | |
| 76 11 | |
| 12 12 | |
| 13 12 | |
| 27 12 | |
| 28 12 | |
| 29 12 | |
| 75 12 | |
| 76 12 | |
| 77 12 | |
| 13 13 | |
| 14 13 | |
| 28 13 | |
| 29 13 | |
| 30 13 | |
| 76 13 | |
| 77 13 | |
| 78 13 | |
| 14 14 | |
| 15 14 | |
| 29 14 | |
| 30 14 | |
| 31 14 | |
| 77 14 | |
| 78 14 | |
| 79 14 | |
| 15 15 | |
| 16 15 | |
| 30 15 | |
| 31 15 | |
| 32 15 | |
| 78 15 | |
| 79 15 | |
| 80 15 | |
| 16 16 | |
| 17 16 | |
| 31 16 | |
| 32 16 | |
| 65 16 | |
| 79 16 | |
| 80 16 | |
| 17 17 | |
| 18 17 | |
| 32 17 | |
| 33 17 | |
| 34 17 | |
| 48 17 | |
| 18 18 | |
| 19 18 | |
| 33 18 | |
| 34 18 | |
| 35 18 | |
| 19 19 | |
| 20 19 | |
| 34 19 | |
| 35 19 | |
| 36 19 | |
| 20 20 | |
| 21 20 | |
| 35 20 | |
| 36 20 | |
| 37 20 | |
| 21 21 | |
| 22 21 | |
| 36 21 | |
| 37 21 | |
| 38 21 | |
| 22 22 | |
| 23 22 | |
| 37 22 | |
| 38 22 | |
| 39 22 | |
| 23 23 | |
| 24 23 | |
| 38 23 | |
| 39 23 | |
| 40 23 | |
| 24 24 | |
| 25 24 | |
| 39 24 | |
| 40 24 | |
| 41 24 | |
| 25 25 | |
| 26 25 | |
| 40 25 | |
| 41 25 | |
| 42 25 | |
| 26 26 | |
| 27 26 | |
| 41 26 | |
| 42 26 | |
| 43 26 | |
| 27 27 | |
| 28 27 | |
| 42 27 | |
| 43 27 | |
| 44 27 | |
| 28 28 | |
| 29 28 | |
| 43 28 | |
| 44 28 | |
| 45 28 | |
| 29 29 | |
| 30 29 | |
| 44 29 | |
| 45 29 | |
| 46 29 | |
| 30 30 | |
| 31 30 | |
| 45 30 | |
| 46 30 | |
| 47 30 | |
| 31 31 | |
| 32 31 | |
| 46 31 | |
| 47 31 | |
| 48 31 | |
| 32 32 | |
| 33 32 | |
| 47 32 | |
| 48 32 | |
| 33 33 | |
| 34 33 | |
| 48 33 | |
| 49 33 | |
| 50 33 | |
| 64 33 | |
| 34 34 | |
| 35 34 | |
| 49 34 | |
| 50 34 | |
| 51 34 | |
| 35 35 | |
| 36 35 | |
| 50 35 | |
| 51 35 | |
| 52 35 | |
| 36 36 | |
| 37 36 | |
| 51 36 | |
| 52 36 | |
| 53 36 | |
| 37 37 | |
| 38 37 | |
| 52 37 | |
| 53 37 | |
| 54 37 | |
| 38 38 | |
| 39 38 | |
| 53 38 | |
| 54 38 | |
| 55 38 | |
| 39 39 | |
| 40 39 | |
| 54 39 | |
| 55 39 | |
| 56 39 | |
| 40 40 | |
| 41 40 | |
| 55 40 | |
| 56 40 | |
| 57 40 | |
| 41 41 | |
| 42 41 | |
| 56 41 | |
| 57 41 | |
| 58 41 | |
| 42 42 | |
| 43 42 | |
| 57 42 | |
| 58 42 | |
| 59 42 | |
| 43 43 | |
| 44 43 | |
| 58 43 | |
| 59 43 | |
| 60 43 | |
| 44 44 | |
| 45 44 | |
| 59 44 | |
| 60 44 | |
| 61 44 | |
| 45 45 | |
| 46 45 | |
| 60 45 | |
| 61 45 | |
| 62 45 | |
| 46 46 | |
| 47 46 | |
| 61 46 | |
| 62 46 | |
| 63 46 | |
| 47 47 | |
| 48 47 | |
| 62 47 | |
| 63 47 | |
| 64 47 | |
| 48 48 | |
| 49 48 | |
| 63 48 | |
| 64 48 | |
| 49 49 | |
| 50 49 | |
| 64 49 | |
| 50 50 | |
| 51 50 | |
| 51 51 | |
| 52 51 | |
| 52 52 | |
| 53 52 | |
| 53 53 | |
| 54 53 | |
| 54 54 | |
| 55 54 | |
| 55 55 | |
| 56 55 | |
| 56 56 | |
| 57 56 | |
| 57 57 | |
| 58 57 | |
| 58 58 | |
| 59 58 | |
| 59 59 | |
| 60 59 | |
| 60 60 | |
| 61 60 | |
| 61 61 | |
| 62 61 | |
| 62 62 | |
| 63 62 | |
| 63 63 | |
| 64 63 | |
| 64 64 | |
| 65 65 | |
| 66 65 | |
| 80 65 | |
| 81 65 | |
| 82 65 | |
| 96 65 | |
| 66 66 | |
| 67 66 | |
| 81 66 | |
| 82 66 | |
| 83 66 | |
| 67 67 | |
| 68 67 | |
| 82 67 | |
| 83 67 | |
| 84 67 | |
| 68 68 | |
| 69 68 | |
| 83 68 | |
| 84 68 | |
| 85 68 | |
| 69 69 | |
| 70 69 | |
| 84 69 | |
| 85 69 | |
| 86 69 | |
| 70 70 | |
| 71 70 | |
| 85 70 | |
| 86 70 | |
| 87 70 | |
| 71 71 | |
| 72 71 | |
| 86 71 | |
| 87 71 | |
| 88 71 | |
| 72 72 | |
| 73 72 | |
| 87 72 | |
| 88 72 | |
| 89 72 | |
| 73 73 | |
| 74 73 | |
| 88 73 | |
| 89 73 | |
| 90 73 | |
| 74 74 | |
| 75 74 | |
| 89 74 | |
| 90 74 | |
| 91 74 | |
| 75 75 | |
| 76 75 | |
| 90 75 | |
| 91 75 | |
| 92 75 | |
| 76 76 | |
| 77 76 | |
| 91 76 | |
| 92 76 | |
| 93 76 | |
| 77 77 | |
| 78 77 | |
| 92 77 | |
| 93 77 | |
| 94 77 | |
| 78 78 | |
| 79 78 | |
| 93 78 | |
| 94 78 | |
| 95 78 | |
| 79 79 | |
| 80 79 | |
| 94 79 | |
| 95 79 | |
| 96 79 | |
| 80 80 | |
| 81 80 | |
| 95 80 | |
| 96 80 | |
| 81 81 | |
| 82 81 | |
| 96 81 | |
| 97 81 | |
| 98 81 | |
| 112 81 | |
| 82 82 | |
| 83 82 | |
| 97 82 | |
| 98 82 | |
| 99 82 | |
| 83 83 | |
| 84 83 | |
| 98 83 | |
| 99 83 | |
| 100 83 | |
| 84 84 | |
| 85 84 | |
| 99 84 | |
| 100 84 | |
| 101 84 | |
| 85 85 | |
| 86 85 | |
| 100 85 | |
| 101 85 | |
| 102 85 | |
| 86 86 | |
| 87 86 | |
| 101 86 | |
| 102 86 | |
| 103 86 | |
| 87 87 | |
| 88 87 | |
| 102 87 | |
| 103 87 | |
| 104 87 | |
| 88 88 | |
| 89 88 | |
| 103 88 | |
| 104 88 | |
| 105 88 | |
| 89 89 | |
| 90 89 | |
| 104 89 | |
| 105 89 | |
| 106 89 | |
| 90 90 | |
| 91 90 | |
| 105 90 | |
| 106 90 | |
| 107 90 | |
| 91 91 | |
| 92 91 | |
| 106 91 | |
| 107 91 | |
| 108 91 | |
| 92 92 | |
| 93 92 | |
| 107 92 | |
| 108 92 | |
| 109 92 | |
| 93 93 | |
| 94 93 | |
| 108 93 | |
| 109 93 | |
| 110 93 | |
| 94 94 | |
| 95 94 | |
| 109 94 | |
| 110 94 | |
| 111 94 | |
| 95 95 | |
| 96 95 | |
| 110 95 | |
| 111 95 | |
| 112 95 | |
| 96 96 | |
| 97 96 | |
| 111 96 | |
| 112 96 | |
| 97 97 | |
| 98 97 | |
| 112 97 | |
| 113 97 | |
| 114 97 | |
| 128 97 | |
| 98 98 | |
| 99 98 | |
| 113 98 | |
| 114 98 | |
| 115 98 | |
| 99 99 | |
| 100 99 | |
| 114 99 | |
| 115 99 | |
| 116 99 | |
| 100 100 | |
| 101 100 | |
| 115 100 | |
| 116 100 | |
| 117 100 | |
| 101 101 | |
| 102 101 | |
| 116 101 | |
| 117 101 | |
| 118 101 | |
| 102 102 | |
| 103 102 | |
| 117 102 | |
| 118 102 | |
| 119 102 | |
| 103 103 | |
| 104 103 | |
| 118 103 | |
| 119 103 | |
| 120 103 | |
| 104 104 | |
| 105 104 | |
| 119 104 | |
| 120 104 | |
| 121 104 | |
| 105 105 | |
| 106 105 | |
| 120 105 | |
| 121 105 | |
| 122 105 | |
| 106 106 | |
| 107 106 | |
| 121 106 | |
| 122 106 | |
| 123 106 | |
| 107 107 | |
| 108 107 | |
| 122 107 | |
| 123 107 | |
| 124 107 | |
| 108 108 | |
| 109 108 | |
| 123 108 | |
| 124 108 | |
| 125 108 | |
| 109 109 | |
| 110 109 | |
| 124 109 | |
| 125 109 | |
| 126 109 | |
| 110 110 | |
| 111 110 | |
| 125 110 | |
| 126 110 | |
| 127 110 | |
| 111 111 | |
| 112 111 | |
| 126 111 | |
| 127 111 | |
| 128 111 | |
| 112 112 | |
| 113 112 | |
| 127 112 | |
| 128 112 | |
| 113 113 | |
| 114 113 | |
| 128 113 | |
| 129 113 | |
| 130 113 | |
| 144 113 | |
| 114 114 | |
| 115 114 | |
| 129 114 | |
| 130 114 | |
| 131 114 | |
| 115 115 | |
| 116 115 | |
| 130 115 | |
| 131 115 | |
| 132 115 | |
| 116 116 | |
| 117 116 | |
| 131 116 | |
| 132 116 | |
| 133 116 | |
| 117 117 | |
| 118 117 | |
| 132 117 | |
| 133 117 | |
| 134 117 | |
| 118 118 | |
| 119 118 | |
| 133 118 | |
| 134 118 | |
| 135 118 | |
| 119 119 | |
| 120 119 | |
| 134 119 | |
| 135 119 | |
| 136 119 | |
| 120 120 | |
| 121 120 | |
| 135 120 | |
| 136 120 | |
| 137 120 | |
| 121 121 | |
| 122 121 | |
| 136 121 | |
| 137 121 | |
| 138 121 | |
| 122 122 | |
| 123 122 | |
| 137 122 | |
| 138 122 | |
| 139 122 | |
| 123 123 | |
| 124 123 | |
| 138 123 | |
| 139 123 | |
| 140 123 | |
| 124 124 | |
| 125 124 | |
| 139 124 | |
| 140 124 | |
| 141 124 | |
| 125 125 | |
| 126 125 | |
| 140 125 | |
| 141 125 | |
| 142 125 | |
| 126 126 | |
| 127 126 | |
| 141 126 | |
| 142 126 | |
| 143 126 | |
| 127 127 | |
| 128 127 | |
| 142 127 | |
| 143 127 | |
| 144 127 | |
| 128 128 | |
| 129 128 | |
| 143 128 | |
| 144 128 | |
| 129 129 | |
| 130 129 | |
| 144 129 | |
| 145 129 | |
| 146 129 | |
| 160 129 | |
| 130 130 | |
| 131 130 | |
| 145 130 | |
| 146 130 | |
| 147 130 | |
| 131 131 | |
| 132 131 | |
| 146 131 | |
| 147 131 | |
| 148 131 | |
| 132 132 | |
| 133 132 | |
| 147 132 | |
| 148 132 | |
| 149 132 | |
| 133 133 | |
| 134 133 | |
| 148 133 | |
| 149 133 | |
| 150 133 | |
| 134 134 | |
| 135 134 | |
| 149 134 | |
| 150 134 | |
| 151 134 | |
| 135 135 | |
| 136 135 | |
| 150 135 | |
| 151 135 | |
| 152 135 | |
| 136 136 | |
| 137 136 | |
| 151 136 | |
| 152 136 | |
| 153 136 | |
| 137 137 | |
| 138 137 | |
| 152 137 | |
| 153 137 | |
| 154 137 | |
| 138 138 | |
| 139 138 | |
| 153 138 | |
| 154 138 | |
| 155 138 | |
| 139 139 | |
| 140 139 | |
| 154 139 | |
| 155 139 | |
| 156 139 | |
| 140 140 | |
| 141 140 | |
| 155 140 | |
| 156 140 | |
| 157 140 | |
| 141 141 | |
| 142 141 | |
| 156 141 | |
| 157 141 | |
| 158 141 | |
| 142 142 | |
| 143 142 | |
| 157 142 | |
| 158 142 | |
| 159 142 | |
| 143 143 | |
| 144 143 | |
| 158 143 | |
| 159 143 | |
| 160 143 | |
| 144 144 | |
| 145 144 | |
| 159 144 | |
| 160 144 | |
| 145 145 | |
| 146 145 | |
| 160 145 | |
| 161 145 | |
| 146 146 | |
| 147 146 | |
| 161 146 | |
| 147 147 | |
| 148 147 | |
| 161 147 | |
| 148 148 | |
| 149 148 | |
| 161 148 | |
| 149 149 | |
| 150 149 | |
| 161 149 | |
| 150 150 | |
| 151 150 | |
| 161 150 | |
| 151 151 | |
| 152 151 | |
| 161 151 | |
| 152 152 | |
| 153 152 | |
| 161 152 | |
| 153 153 | |
| 154 153 | |
| 161 153 | |
| 154 154 | |
| 155 154 | |
| 161 154 | |
| 155 155 | |
| 156 155 | |
| 161 155 | |
| 156 156 | |
| 157 156 | |
| 161 156 | |
| 157 157 | |
| 158 157 | |
| 161 157 | |
| 158 158 | |
| 159 158 | |
| 161 158 | |
| 159 159 | |
| 160 159 | |
| 161 159 | |
| 160 160 | |
| 161 160 | |
| 161 161 |
| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <style> | |
| body { | |
| margin: 0; | |
| } | |
| .node { | |
| fill: steelblue; | |
| } | |
| .link { | |
| stroke: #ccc; | |
| } | |
| </style> | |
| <body> | |
| <script src="http://d3js.org/d3.v2.js?2.9.1"></script> | |
| <script> | |
| var width = 960, | |
| height = 500; | |
| var svg = d3.select("body").append("svg") | |
| .attr("width", width) | |
| .attr("height", height); | |
| var force = d3.layout.force() | |
| .size([width, height]); | |
| d3.text("can_161.mtx", function(text) { | |
| var graph = parseMtx(text); | |
| var link = svg.selectAll(".link") | |
| .data(graph.links) | |
| .enter().append("line") | |
| .attr("class", "link") | |
| .on("mouseover", function(d,i) { | |
| console.log(d,i); | |
| }); | |
| var node = svg.selectAll(".node") | |
| .data(graph.nodes) | |
| .enter().append("circle") | |
| .attr("class", "node") | |
| .attr("r", 4.5) | |
| .call(force.drag); | |
| force | |
| .nodes(graph.nodes) | |
| .links(graph.links) | |
| .on("tick", tick) | |
| .start(); | |
| function tick() { | |
| 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; }) | |
| .attr("cy", function(d) { return d.y; }); | |
| } | |
| function update() { | |
| force | |
| .nodes(graph.nodes) | |
| .links(graph.links); | |
| node.data(graph.nodes) | |
| .exit().remove(); | |
| link.data(graph.links) | |
| .exit().remove(); | |
| }; | |
| var start = 300; | |
| var remove = 100; | |
| var index = 0; | |
| function anim() { | |
| if (index > remove) return; | |
| graph.links.splice(start,1); | |
| update(); | |
| force.start(); | |
| index++; | |
| setTimeout(anim, 60); | |
| }; | |
| setTimeout(anim,2000); | |
| }); | |
| function parseMtx(text) { | |
| var nodes = []; | |
| var links = text | |
| .split(/\n/g) // split lines | |
| .filter(function(d) { return d.charAt(0) != "%"; }) // skip comments | |
| .slice(1, -1) // skip header line, last line | |
| .map(function(d) { | |
| d = d.split(/\s+/g); | |
| var source = d[0] - 1, target = d[1] - 1; | |
| return { | |
| source: nodes[source] || (nodes[source] = {index: source}), | |
| target: nodes[target] || (nodes[target] = {index: target}) | |
| }; | |
| }); | |
| return { | |
| nodes: nodes, | |
| links: links | |
| }; | |
| } | |
| </script> |