{"url":"https://api.github.com/gists/4566102","forks_url":"https://api.github.com/gists/4566102/forks","commits_url":"https://api.github.com/gists/4566102/commits","id":"4566102","node_id":"MDQ6R2lzdDQ1NjYxMDI=","git_pull_url":"https://gist.github.com/4566102.git","git_push_url":"https://gist.github.com/4566102.git","html_url":"https://gist.github.com/mbostock/4566102","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/4566102/raw/703d310b399098a243a76a50bc209167e924cfd2/.block","size":17,"truncated":false,"content":"license: gpl-3.0\n"},"README.md":{"filename":"README.md","type":"text/markdown","language":"Markdown","raw_url":"https://gist.githubusercontent.com/mbostock/4566102/raw/a4ef9d79daffbcaa72da0c5755a90a946c93f9eb/README.md","size":1262,"truncated":false,"content":"This [brushable](/4560481) and [draggable](/4557698) network supports multiple selections via the SHIFT key. Click and drag the background area to make a rectangular selection ([brushing](/4349545)). Once you’ve selected some nodes, drag them around to reposition the network. You might use this technique to hand-tweak a [force-directed layout](/4062045) for better appearance, saving the manually-adjusted node positions back to a file.\n\nFor greater control, you can hold down the SHIFT key to add to or remove from an existing selection, either by creating a new rectangular selection or clicking on an individual nodes. You can use the OPTION and SPACE keys to modify the rectangular selection while dragging. You can also use the arrow keys to nudge selected nodes.\n\nA further improvement to this example would be to allow rigid-body transformations of selected nodes (scale and rotate, in addition to translate). You might do this by checking for the META key while dragging. If the META key is down, you’d rotate and scale the nodes around the selected node’s centroid, rather than just translating. You might also try running a few iterations of the force layout on selected nodes interactively. Fork this example to implement these ideas yourself!"},"graph.json":{"filename":"graph.json","type":"application/json","language":"JSON","raw_url":"https://gist.githubusercontent.com/mbostock/4566102/raw/8a96fb604748723904a6c02a56abcc7db8c3273d/graph.json","size":7982,"truncated":false,"content":"{\"nodes\":[{\"x\":444,\"y\":275},{\"x\":378,\"y\":324},{\"x\":478,\"y\":278},{\"x\":471,\"y\":256},{\"x\":382,\"y\":269},{\"x\":371,\"y\":247},{\"x\":359,\"y\":276},{\"x\":364,\"y\":302},{\"x\":400,\"y\":330},{\"x\":388,\"y\":298},{\"x\":524,\"y\":296},{\"x\":570,\"y\":243},{\"x\":552,\"y\":159},{\"x\":502,\"y\":287},{\"x\":511,\"y\":313},{\"x\":513,\"y\":265},{\"x\":602,\"y\":132},{\"x\":610,\"y\":90},{\"x\":592,\"y\":91},{\"x\":575,\"y\":89},{\"x\":607,\"y\":73},{\"x\":591,\"y\":68},{\"x\":574,\"y\":73},{\"x\":589,\"y\":149},{\"x\":620,\"y\":205},{\"x\":621,\"y\":230},{\"x\":589,\"y\":234},{\"x\":602,\"y\":223},{\"x\":548,\"y\":188},{\"x\":532,\"y\":196},{\"x\":548,\"y\":114},{\"x\":575,\"y\":174},{\"x\":497,\"y\":250},{\"x\":576,\"y\":196},{\"x\":504,\"y\":201},{\"x\":494,\"y\":186},{\"x\":482,\"y\":199},{\"x\":505,\"y\":219},{\"x\":486,\"y\":216},{\"x\":590,\"y\":306},{\"x\":677,\"y\":169},{\"x\":657,\"y\":258},{\"x\":667,\"y\":205},{\"x\":552,\"y\":227},{\"x\":518,\"y\":173},{\"x\":473,\"y\":125},{\"x\":796,\"y\":260},{\"x\":731,\"y\":272},{\"x\":642,\"y\":288},{\"x\":576,\"y\":269},{\"x\":605,\"y\":187},{\"x\":559,\"y\":289},{\"x\":544,\"y\":356},{\"x\":505,\"y\":365},{\"x\":579,\"y\":289},{\"x\":619,\"y\":282},{\"x\":574,\"y\":329},{\"x\":664,\"y\":306},{\"x\":627,\"y\":304},{\"x\":643,\"y\":327},{\"x\":664,\"y\":348},{\"x\":665,\"y\":327},{\"x\":653,\"y\":317},{\"x\":650,\"y\":338},{\"x\":622,\"y\":321},{\"x\":633,\"y\":338},{\"x\":647,\"y\":357},{\"x\":718,\"y\":362},{\"x\":636,\"y\":240},{\"x\":640,\"y\":227},{\"x\":617,\"y\":249},{\"x\":631,\"y\":254},{\"x\":566,\"y\":213},{\"x\":713,\"y\":322},{\"x\":716,\"y\":298},{\"x\":666,\"y\":241},{\"x\":627,\"y\":355}],\"links\":[{\"source\":1,\"target\":0},{\"source\":2,\"target\":0},{\"source\":3,\"target\":0},{\"source\":3,\"target\":2},{\"source\":4,\"target\":0},{\"source\":5,\"target\":0},{\"source\":6,\"target\":0},{\"source\":7,\"target\":0},{\"source\":8,\"target\":0},{\"source\":9,\"target\":0},{\"source\":11,\"target\":10},{\"source\":11,\"target\":3},{\"source\":11,\"target\":2},{\"source\":11,\"target\":0},{\"source\":12,\"target\":11},{\"source\":13,\"target\":11},{\"source\":14,\"target\":11},{\"source\":15,\"target\":11},{\"source\":17,\"target\":16},{\"source\":18,\"target\":16},{\"source\":18,\"target\":17},{\"source\":19,\"target\":16},{\"source\":19,\"target\":17},{\"source\":19,\"target\":18},{\"source\":20,\"target\":16},{\"source\":20,\"target\":17},{\"source\":20,\"target\":18},{\"source\":20,\"target\":19},{\"source\":21,\"target\":16},{\"source\":21,\"target\":17},{\"source\":21,\"target\":18},{\"source\":21,\"target\":19},{\"source\":21,\"target\":20},{\"source\":22,\"target\":16},{\"source\":22,\"target\":17},{\"source\":22,\"target\":18},{\"source\":22,\"target\":19},{\"source\":22,\"target\":20},{\"source\":22,\"target\":21},{\"source\":23,\"target\":16},{\"source\":23,\"target\":17},{\"source\":23,\"target\":18},{\"source\":23,\"target\":19},{\"source\":23,\"target\":20},{\"source\":23,\"target\":21},{\"source\":23,\"target\":22},{\"source\":23,\"target\":12},{\"source\":23,\"target\":11},{\"source\":24,\"target\":23},{\"source\":24,\"target\":11},{\"source\":25,\"target\":24},{\"source\":25,\"target\":23},{\"source\":25,\"target\":11},{\"source\":26,\"target\":24},{\"source\":26,\"target\":11},{\"source\":26,\"target\":16},{\"source\":26,\"target\":25},{\"source\":27,\"target\":11},{\"source\":27,\"target\":23},{\"source\":27,\"target\":25},{\"source\":27,\"target\":24},{\"source\":27,\"target\":26},{\"source\":28,\"target\":11},{\"source\":28,\"target\":27},{\"source\":29,\"target\":23},{\"source\":29,\"target\":27},{\"source\":29,\"target\":11},{\"source\":30,\"target\":23},{\"source\":31,\"target\":30},{\"source\":31,\"target\":11},{\"source\":31,\"target\":23},{\"source\":31,\"target\":27},{\"source\":32,\"target\":11},{\"source\":33,\"target\":11},{\"source\":33,\"target\":27},{\"source\":34,\"target\":11},{\"source\":34,\"target\":29},{\"source\":35,\"target\":11},{\"source\":35,\"target\":34},{\"source\":35,\"target\":29},{\"source\":36,\"target\":34},{\"source\":36,\"target\":35},{\"source\":36,\"target\":11},{\"source\":36,\"target\":29},{\"source\":37,\"target\":34},{\"source\":37,\"target\":35},{\"source\":37,\"target\":36},{\"source\":37,\"target\":11},{\"source\":37,\"target\":29},{\"source\":38,\"target\":34},{\"source\":38,\"target\":35},{\"source\":38,\"target\":36},{\"source\":38,\"target\":37},{\"source\":38,\"target\":11},{\"source\":38,\"target\":29},{\"source\":39,\"target\":25},{\"source\":40,\"target\":25},{\"source\":41,\"target\":24},{\"source\":41,\"target\":25},{\"source\":42,\"target\":41},{\"source\":42,\"target\":25},{\"source\":42,\"target\":24},{\"source\":43,\"target\":11},{\"source\":43,\"target\":26},{\"source\":43,\"target\":27},{\"source\":44,\"target\":28},{\"source\":44,\"target\":11},{\"source\":45,\"target\":28},{\"source\":47,\"target\":46},{\"source\":48,\"target\":47},{\"source\":48,\"target\":25},{\"source\":48,\"target\":27},{\"source\":48,\"target\":11},{\"source\":49,\"target\":26},{\"source\":49,\"target\":11},{\"source\":50,\"target\":49},{\"source\":50,\"target\":24},{\"source\":51,\"target\":49},{\"source\":51,\"target\":26},{\"source\":51,\"target\":11},{\"source\":52,\"target\":51},{\"source\":52,\"target\":39},{\"source\":53,\"target\":51},{\"source\":54,\"target\":51},{\"source\":54,\"target\":49},{\"source\":54,\"target\":26},{\"source\":55,\"target\":51},{\"source\":55,\"target\":49},{\"source\":55,\"target\":39},{\"source\":55,\"target\":54},{\"source\":55,\"target\":26},{\"source\":55,\"target\":11},{\"source\":55,\"target\":16},{\"source\":55,\"target\":25},{\"source\":55,\"target\":41},{\"source\":55,\"target\":48},{\"source\":56,\"target\":49},{\"source\":56,\"target\":55},{\"source\":57,\"target\":55},{\"source\":57,\"target\":41},{\"source\":57,\"target\":48},{\"source\":58,\"target\":55},{\"source\":58,\"target\":48},{\"source\":58,\"target\":27},{\"source\":58,\"target\":57},{\"source\":58,\"target\":11},{\"source\":59,\"target\":58},{\"source\":59,\"target\":55},{\"source\":59,\"target\":48},{\"source\":59,\"target\":57},{\"source\":60,\"target\":48},{\"source\":60,\"target\":58},{\"source\":60,\"target\":59},{\"source\":61,\"target\":48},{\"source\":61,\"target\":58},{\"source\":61,\"target\":60},{\"source\":61,\"target\":59},{\"source\":61,\"target\":57},{\"source\":61,\"target\":55},{\"source\":62,\"target\":55},{\"source\":62,\"target\":58},{\"source\":62,\"target\":59},{\"source\":62,\"target\":48},{\"source\":62,\"target\":57},{\"source\":62,\"target\":41},{\"source\":62,\"target\":61},{\"source\":62,\"target\":60},{\"source\":63,\"target\":59},{\"source\":63,\"target\":48},{\"source\":63,\"target\":62},{\"source\":63,\"target\":57},{\"source\":63,\"target\":58},{\"source\":63,\"target\":61},{\"source\":63,\"target\":60},{\"source\":63,\"target\":55},{\"source\":64,\"target\":55},{\"source\":64,\"target\":62},{\"source\":64,\"target\":48},{\"source\":64,\"target\":63},{\"source\":64,\"target\":58},{\"source\":64,\"target\":61},{\"source\":64,\"target\":60},{\"source\":64,\"target\":59},{\"source\":64,\"target\":57},{\"source\":64,\"target\":11},{\"source\":65,\"target\":63},{\"source\":65,\"target\":64},{\"source\":65,\"target\":48},{\"source\":65,\"target\":62},{\"source\":65,\"target\":58},{\"source\":65,\"target\":61},{\"source\":65,\"target\":60},{\"source\":65,\"target\":59},{\"source\":65,\"target\":57},{\"source\":65,\"target\":55},{\"source\":66,\"target\":64},{\"source\":66,\"target\":58},{\"source\":66,\"target\":59},{\"source\":66,\"target\":62},{\"source\":66,\"target\":65},{\"source\":66,\"target\":48},{\"source\":66,\"target\":63},{\"source\":66,\"target\":61},{\"source\":66,\"target\":60},{\"source\":67,\"target\":57},{\"source\":68,\"target\":25},{\"source\":68,\"target\":11},{\"source\":68,\"target\":24},{\"source\":68,\"target\":27},{\"source\":68,\"target\":48},{\"source\":68,\"target\":41},{\"source\":69,\"target\":25},{\"source\":69,\"target\":68},{\"source\":69,\"target\":11},{\"source\":69,\"target\":24},{\"source\":69,\"target\":27},{\"source\":69,\"target\":48},{\"source\":69,\"target\":41},{\"source\":70,\"target\":25},{\"source\":70,\"target\":69},{\"source\":70,\"target\":68},{\"source\":70,\"target\":11},{\"source\":70,\"target\":24},{\"source\":70,\"target\":27},{\"source\":70,\"target\":41},{\"source\":70,\"target\":58},{\"source\":71,\"target\":27},{\"source\":71,\"target\":69},{\"source\":71,\"target\":68},{\"source\":71,\"target\":70},{\"source\":71,\"target\":11},{\"source\":71,\"target\":48},{\"source\":71,\"target\":41},{\"source\":71,\"target\":25},{\"source\":72,\"target\":26},{\"source\":72,\"target\":27},{\"source\":72,\"target\":11},{\"source\":73,\"target\":48},{\"source\":74,\"target\":48},{\"source\":74,\"target\":73},{\"source\":75,\"target\":69},{\"source\":75,\"target\":68},{\"source\":75,\"target\":25},{\"source\":75,\"target\":48},{\"source\":75,\"target\":41},{\"source\":75,\"target\":70},{\"source\":75,\"target\":71},{\"source\":76,\"target\":64},{\"source\":76,\"target\":65},{\"source\":76,\"target\":66},{\"source\":76,\"target\":63},{\"source\":76,\"target\":62},{\"source\":76,\"target\":48},{\"source\":76,\"target\":58}]}"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/4566102/raw/09fb4b0e308d8084f079749b75484931eed56eed/index.html","size":3760,"truncated":false,"content":"\n\n\n
\n\n\n"},"thumbnail.png":{"filename":"thumbnail.png","type":"image/png","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/4566102/raw/d54841891938f990014a2b421298407ac8e72bed/thumbnail.png","size":11186,"truncated":false,"content":"�PNG\r\n\u001A\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000�\u0000\u0000\u0000x\b\u0002\u0000\u0000\u0000id\u0019�\u0000\u0000\n�iCCPicm\u0000\u0000HǕ�\u0007PS�\u0016ǿ{�\u001B-!\u0002RBc�\u001A�t\u0010���\u0010J\f��슸�kAD\u0004�\u0015]��k\u0001d-�(\u0016\u0016A\u0005�\u000B��(�b\u0001TT�E\u001E�y��f�̙��3g���ʝ�\u0003@.c\t���\f\u0000i�LQ��;#:&��{\f @\u0006\u0014`\n�Y�\f�[HH\u0000�ۘ\u001A@���c<�\u0005�Y�r�\u0019l\u0000�\u0010�\u00138\u0019�4�O#��-\u0014e\u0002��B�Zٙ�9�F�&B\u0006Dxn\u001D\u001Ao�7�q�<�|�\t\u000F�@�\u0016\u0000<��\u0012�\u0000 !�����!:��\b�\t8|\u0001\u0000d4���$\u0016\u0007aO����Vͱ\u0010a�������f�D���Ix~/�\u0002���\u0010��r��q��HK\u0015/���$9#%�n=��r�,��\u0005N�2\u0003\u0016X��\u001E���Lf��G�\u001B���\b�\u0005NY�/�\u0017$\u0004\u0005K�3@��He��\"�m�\u001A\u0017�^4��X�U��P�ФЯ�I��襘��[�E�\u0012Z�@i�R��A�+J�i�\u001D\u0017�\u0017\u0017.>���2�l�\u001C��Z��r����Pe��e�qU���j�j��\u0005�15���\u001A_�D���K�<Í��(ct2&ԕ�}����{�g4t5\"46i4i<�$j�i&j�hvhNh�i\u0005j��j�z�Mж�N�ާݥ=���\u0013��U�E煮�.S7O�A��\u001EE�E/]�J�>V�N?E��~�\u0001l`m�dPap�\u00106�1�\u001B\u001E0�3�\u0018�\u001B\t���\u0006���n�Y�\r��&t�\u0000�M&-&�M�LcMw�v�~5�6K5;j��\\���|�y��[\u000B\u0003\u000B�E��]K����z�V�7V�V\\��V���ց�[�;����ڈl\u001Am�l�l�m+m\u0007�hv!v����c����۟���`��p��/Gc�\u0014�z�\u0017Kt�p�\u001C]2���r:�4��p�w��y�E݅�R���Uӕ�Z���M�-���kw3w��\u0019�i\u000F\u0007��\u001E�(O\u001F�B�\u001E/9�\b�r�'�\u001A�<�\u0006�\t\u001Fk��>��\u0018_�ݾ�L\u0015&�Yǜ��[���O�\u000F�/�\u001A`\u0010 \nh\u000B�\u0003�\u0002�\u0004>\n�\u000E\u0012\u0004�\u0004�`f���!�!�!�.�.\rYZ��Y�y�Ю0j�ʰ���p���\u000F#�\"�\u0011\u001D�ґq�u��Q�Q�QCѦ�k�o�(��cZcq���ձ�˼��]6\u001Ag\u001DW\u00107�\\wy���+�V��8�Rz%k�xL|T|}�gV0��5��L�L�`{���_q\\9%�1�\u0013���<�)�8�\u0005ω��7��T�4������$�&\u001FJ�N\tN�I�M�JmJçŧ�\u0015�\tR\u0004��TW��\u0013\u001A\n\u000B�C�\u000E�{�'D���\f(cyFk&\r1+�b=�\u0016�p�sVEև���S9�9���\\��m����~^�^�^ݱF}��5�k��\u001E^\u0007�KXױ^s}���\r>\u001Bj7\u00127�l�m�٦�M�7Gmn�W�ߐ?��gKC�T��`p���C?���г�r��m_\u000B9�7�̊J�>ogo����e?��H�ѳ�f��]�]�]\u0003�]v�\u0016�\u0016�\u0015��\t��\\�(),y�w���V���\u0011���\r�\u0005����ڿk�����\n���J��m��\u00078\u0007n\u001Ft=�xH�PѡO?��w��ps�NU�\u0011쑬#ώF\u001E�����j���/5�������:ۺ�z���\rp��a�Xܱ���[\u001B�\u001B\u000F7ћ�N�\u0013�\u0013/��e��ɎSv�\u001AOk��