{"url":"https://api.github.com/gists/4341417","forks_url":"https://api.github.com/gists/4341417/forks","commits_url":"https://api.github.com/gists/4341417/commits","id":"4341417","node_id":"MDQ6R2lzdDQzNDE0MTc=","git_pull_url":"https://gist.github.com/4341417.git","git_push_url":"https://gist.github.com/4341417.git","html_url":"https://gist.github.com/mbostock/4341417","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/4341417/raw/703d310b399098a243a76a50bc209167e924cfd2/.block","size":17,"truncated":false,"content":"license: gpl-3.0\n","encoding":"utf-8"},"README.md":{"filename":"README.md","type":"text/markdown","language":"Markdown","raw_url":"https://gist.githubusercontent.com/mbostock/4341417/raw/1807fb990546c3ccfa27aaadd8c50d14a080f2b7/README.md","size":406,"truncated":false,"content":"This example demonstrates a complex chained transition for updating values in a donut chart, as considered by Robertson & Heer in [Animated Transitions in Statistical Data Graphics](http://vis.berkeley.edu/papers/animated_transitions/). While fascinating to watch, users found the complicated transitions difficult to follow. For a simpler approach, see the [Pie Chart Update](/1346410) series of examples.","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/4341417/raw/558a12cd05852b7377daec1a2ec1e3b06c471eca/index.html","size":2659,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script>\n\nvar width = 960,\n    height = 500,\n    outerRadius = Math.min(width, height) * .5 - 10,\n    innerRadius = outerRadius * .6;\n\nvar n = 10,\n    data0 = d3.range(n).map(Math.random),\n    data1 = d3.range(n).map(Math.random),\n    data;\n\nvar color = d3.scale.category20();\n\nvar arc = d3.svg.arc();\n\nvar pie = d3.layout.pie()\n    .sort(null);\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .attr(\"width\", width)\n    .attr(\"height\", height);\n\nsvg.selectAll(\".arc\")\n    .data(arcs(data0, data1))\n  .enter().append(\"g\")\n    .attr(\"class\", \"arc\")\n    .attr(\"transform\", \"translate(\" + width / 2 + \",\" + height / 2 + \")\")\n  .append(\"path\")\n    .attr(\"fill\", function(d, i) { return color(i); })\n    .attr(\"d\", arc);\n\ntransition(1);\n\nfunction arcs(data0, data1) {\n  var arcs0 = pie(data0),\n      arcs1 = pie(data1),\n      i = -1,\n      arc;\n  while (++i < n) {\n    arc = arcs0[i];\n    arc.innerRadius = innerRadius;\n    arc.outerRadius = outerRadius;\n    arc.next = arcs1[i];\n  }\n  return arcs0;\n}\n\nfunction transition(state) {\n  var path = d3.selectAll(\".arc > path\")\n      .data(state ? arcs(data0, data1) : arcs(data1, data0));\n\n  // Wedges split into two rings.\n  var t0 = path.transition()\n      .duration(1000)\n      .attrTween(\"d\", tweenArc(function(d, i) {\n        return {\n          innerRadius: i & 1 ? innerRadius : (innerRadius + outerRadius) / 2,\n          outerRadius: i & 1 ? (innerRadius + outerRadius) / 2 : outerRadius\n        };\n      }));\n\n  // Wedges translate to be centered on their final position.\n  var t1 = t0.transition()\n      .attrTween(\"d\", tweenArc(function(d, i) {\n        var a0 = d.next.startAngle + d.next.endAngle,\n            a1 = d.startAngle - d.endAngle;\n        return {\n          startAngle: (a0 + a1) / 2,\n          endAngle: (a0 - a1) / 2\n        };\n      }));\n\n  // Wedges then update their values, changing size.\n  var t2 = t1.transition()\n        .attrTween(\"d\", tweenArc(function(d, i) {\n          return {\n            startAngle: d.next.startAngle,\n            endAngle: d.next.endAngle\n          };\n        }));\n\n  // Wedges reunite into a single ring.\n  var t3 = t2.transition()\n      .attrTween(\"d\", tweenArc(function(d, i) {\n        return {\n          innerRadius: innerRadius,\n          outerRadius: outerRadius\n        };\n      }));\n\n  setTimeout(function() { transition(!state); }, 5000);\n}\n\nfunction tweenArc(b) {\n  return function(a, i) {\n    var d = b.call(this, a, i), i = d3.interpolate(a, d);\n    for (var k in d) a[k] = d[k]; // update data\n    return function(t) { return arc(i(t)); };\n  };\n}\n\n</script>\n","encoding":"utf-8"},"thumbnail.png":{"filename":"thumbnail.png","type":"image/png","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/4341417/raw/baaacb67b5451b2d02a135ff27c944b1496de518/thumbnail.png","size":11066,"truncated":false,"content":"iVBORw0KGgoAAAANSUhEUgAAAOYAAAB4CAIAAABpZBnfAAAKn2lDQ1BpY20A\nAEjHlZYHUFPpFse/e9MbLRABKaH3Ll16DaAgVRCVkIQQSgiBICI2RFyBFUVE\nBGyIIKLgWmhrQUSxsAhYsKALsigo62IBCyrvAo/w3rzZebNn5uT75cyZ//3O\nd+838weA3MQUCBJgKQAS+anCQC9X+srwCDquH5AABRCBOjBkslIELgEBfuBv\nY/IhgGbWe0YzWuCfhTSbk8ICAApAOJqdwkpE+DySh1gCYSoAqGCkrrkuVTDD\n6QjLCpENIpw/w9w5PjLD0XN8frYnONAN4ZsA4MlMppALAOk+UqensbiIDukj\nwqZ8No8PAFkTYUdWLJONMJLAMDExaYZ3I6wb/R863P/SjBZrMplcMc/NMht4\nd16KIIG5/h8ex/+PxATR/DNUkCSnxAf5Iqs2cmbpLKZH0DzHchh+8yxIdQ2c\nZ14qI1jcI/IOmWdRfIjLPMcn+Yr7+dHL/cX6KW4R85wRGxw2z2yOu8c8C5MC\nxf0paUEeC/1uy+c5jukTMM9M4ewss8xJ8Apc2HOAeJ/8hOXiWWKEnuIeTsrC\nvKmxwd5iRj4AcT/PkyGeV+i9oJ8QINYUigLF58Dhh4g12Ux38dmCYBALRIAP\n2IADhCAaJIEEkArowB3wQAoQIP+YAHndqZz01JmB3JIE64U8bmwq3QW5FRxD\nOoPPMjakm5uamYOZOzb3Cj/QZu8ORLu9UEtuBcA2FylyF2pMDQCaXwJAnVyo\nabyf+04vdbNEwrS5GnrmB4PcXEkgCxSQL0QD6AIjYA6sgD1wBh7AB/gjk4SD\nNYCFzJOITLIOZIKtIAfkgd1gHygFh8ExcAKcBmdBI7gIroIb4A7oBg/AUzAA\nhsEbMA4mwRQEQTiIAlEhBUgV0oIMIHPIBnKEPCA/KBAKh6IgLsSHRFAmtA3K\ngwqhUugoVAP9AjVDV6FbUA/0GBqERqH30FcYBZNhWVgZ1oZNYBvYBfaFg+HV\nMBdOhjPgbHgXXAJXwKfgBvgqfAd+AA/Ab+AJFECRUDSUGsoIZYNyQ/mjIlAx\nKCFqEyoXVYyqQNWhWlAdqHuoAdQY6gsai6ai6WgjtD3aGx2CZqGT0ZvQ+ehS\n9Al0A7odfQ89iB5H/8BQMEoYA4wdhoFZieFi1mFyMMWYKswFzHXMA8wwZhKL\nxdKwOlhrrDc2HBuH3YDNxx7E1mNbsT3YIewEDodTwBngHHD+OCYuFZeDO4A7\nhbuC68UN4z7jSXhVvDneEx+B5+Oz8MX4k/jL+F78K/wUQYqgRbAj+BPYhPWE\nAkIloYVwlzBMmCJKE3WIDsRgYhxxK7GEWEe8TuwnfiCRSOokW9IKEo+0hVRC\nOkO6SRokfSHLkPXJbuRIsoi8i1xNbiU/Jn+gUCjaFGdKBCWVsotSQ7lGeU75\nLEGVMJZgSLAlNkuUSTRI9Eq8lSRIakm6SK6RzJAsljwneVdyTIogpS3lJsWU\n2iRVJtUs1Sc1IU2VNpP2l06Uzpc+KX1LekQGJ6Mt4yHDlsmWOSZzTWaIiqJq\nUN2oLOo2aiX1OnVYFiurI8uQjZPNkz0t2yU7Licjt0QuVC5drkzuktwADUXT\npjFoCbQC2lnaQ9rXRcqLXBZxFu1cVLeod9En+cXyzvIc+Vz5evkH8l8V6Aoe\nCvEKexQaFZ4pohX1FVcorlM8pHhdcWyx7GL7xazFuYvPLn6iBCvpKwUqbVA6\nptSpNKGsouylLFA+oHxNeUyFpuKsEqdSpHJZZVSVquqoylMtUr2i+pouR3eh\nJ9BL6O30cTUlNW81kdpRtS61KXUd9RD1LPV69WcaRA0bjRiNIo02jXFNVc1l\nmpmatZpPtAhaNlqxWvu1OrQ+aetoh2nv0G7UHtGR12HoZOjU6vTrUnSddJN1\nK3Tv62H1bPTi9Q7qdevD+pb6sfpl+ncNYAMrA57BQYMeQ4yhrSHfsMKwz4hs\n5GKUZlRrNGhMM/YzzjJuNH5romkSYbLHpMPkh6mlaYJppelTMxkzH7Mssxaz\n9+b65izzMvP7FhQLT4vNFk0W75YYLOEsObTkkSXVcpnlDss2y+9W1lZCqzqr\nUWtN6yjrcus+G1mbAJt8m5u2GFtX2822F22/2FnZpdqdtfvL3sg+3v6k/chS\nnaWcpZVLhxzUHZgORx0GHOmOUY5HHAec1JyYThVOL5w1nNnOVc6vXPRc4lxO\nubx1NXUVul5w/eRm57bRrdUd5e7lnuve5SHjEeJR6vHcU92T61nrOe5l6bXB\nq9Ub4+3rvce7j6HMYDFqGOM+1j4bfdp9yb5BvqW+L/z0/YR+LcvgZT7L9i7r\nX661nL+80R/4M/z3+j8L0AlIDvh1BXZFwIqyFS8DzQIzAzuCqEFrg04GTQa7\nBhcEPw3RDRGFtIVKhkaG1oR+CnMPKwwbWGmycuPKO+GK4bzwpghcRGhEVcTE\nKo9V+1YNR1pG5kQ+XK2zOn31rTWKaxLWXForuZa59lwUJios6mTUN6Y/s4I5\nEc2ILo8eZ7mx9rPesJ3ZRexRjgOnkPMqxiGmMGaE68Ddyx2NdYotjh3jufFK\nee/ivOMOx32K94+vjp9OCEuoT8QnRiU282X48fz2JJWk9KQegYEgRzCQbJe8\nL3lc6CusSoFSVqc0pcoiZqZTpCvaLhpMc0wrS/u8LnTduXTpdH5653r99TvX\nv8rwzDi+Ab2BtaEtUy1za+bgRpeNRzdBm6I3tW3W2Jy9eXiL15YTW4lb47f+\nlmWaVZj1cVvYtpZs5ewt2UPbvbbX5kjkCHP6dtjvOPwT+ifeT107LXYe2Pkj\nl517O880rzjvWz4r//bPZj+X/Dy9K2ZXV4FVwaHd2N383Q/3OO05UShdmFE4\ntHfZ3oYielFu0cd9a/fdKl5SfHg/cb9o/0CJX0nTAc0Duw98K40tfVDmWlZf\nrlS+s/zTQfbB3kPOh+oOKx/OO/z1CO/Io6NeRxsqtCuKj2GPpR17WRla2XHc\n5nhNlWJVXtX3an71wInAE+011jU1J5VOFtTCtaLa0VORp7pPu59uqjOqO1pP\nq887A86Izrz+JeqXh2d9z7adszlXd17rfPkF6oXcBqhhfcN4Y2zjQFN4U0+z\nT3Nbi33LhV+Nf62+qHax7JLcpYLLxMvZl6evZFyZaBW0jl3lXh1qW9v29NrK\na/fbV7R3Xfe9fvOG541rHS4dV2463Lx4y+5W822b2413rO40dFp2XvjN8rcL\nXVZdDXet7zZ123a39Cztudzr1Hv1nvu9G/cZ9+88WP6g52HIw0d9kX0Dj9iP\nRh4nPH73JO3J1NMt/Zj+3GdSz4qfKz2v+F3v9/oBq4FLg+6DnS+CXjwdYg29\n+SPlj2/D2S8pL4tfqb6qGTEfuTjqOdr9etXr4TeCN1NjOX9K/1n+Vvft+b+c\n/+ocXzk+/E74bvp9/geFD9Ufl3xsmwiYeD6ZODn1KfezwucTX2y+dHwN+/pq\nat033LeS73rfW374/uifTpyeFjCFzFkrgEISjokB4H01AJRwxDt0A0CUmPPA\nswHN+fZZAn/Hcz55NqwAqHYGIGQLAH6IRzmEpBbCZGSdsXPBzgC2sBDnvyMl\n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\nW1d/5gzTNrRhPp21sjl8+ZpEyDGK3jhNZT3FV/Krbw95E0O8AuRXZHUiNjWQ\n3/70YSdYziUgomJBXnLz8kRTRB23PuHpKW0sE1Fr07rE3Cq74KpxqGXYBvWn\n3Tdbk5j6eemno/yKrL45bzzRlk0WDMsYK+oSgnIZd8V5c8+4uJEnPb713khT\n61ji4lXVC+cEx6VWMRxLtHTljvTNCKfWn8hyadXBQzv7vKLyip4YtUSQID0V\nqXIu+egywE9FUER6WIHOX161uD5UHI9aMITA9kOpojfekf6XP5ElADBt46a7\nztn0iZXRRDCXLrpFeQK4gqiYk+deuzBWq0teprvZJ9tFAoANy+Lz68axtQwY\ngpJZb8/hNCrdPaiESeFuQe7d2rX9yfbu1iQJsgOmfj66RVk3L/rRr28wTH9+\nM4elFD+3a+DoUFEXH5bXpnWJeMicwgXCTjf5G9lj62wCSqoDr/e88cf2I3sH\nmBEIm/lU8QNfPHPF+XP5tI+6yveRCPmieuqtvlxR6glho4oIRU8tqAuev7yq\ngofE/I1sSQzFrItUmbl918CbT7bt39bduGbOzV9ZD6WOTXX1pzR/R4cKz+0a\nGLf6XDGuWFNTE63YstqKQHZY2mHV7uzh3QNGV3vDpSvYcEqzAeGnCOwEaf52\ntqV3tKWOL0o8QUQoerygLlDBhtbfTt6JndF7HCjFQPM8anj7efz0Pnp1G7KZ\nY0sQ+vMrquFb1RxORO0yowbMsAzq7C+kch7RZKfznJ6qKGS1dNaA39zJ2SIK\nBbzwPB74GV54HskhX4Ort3NauyAClJtbRoSCp9p68uUP868qEFkQwXXp4AGy\nTBAhFEKxiNdexYMP4Kkn0dfnU9dWf9fqq5zmRKBYZniWYRrU3puv1CHcikNW\nm8/2NgwMwDT1yhkgQjAIJbHjLfziQTz+GLo6p7uhpyQCgBVNYXPsvIHO0aZy\nXvdgAZWYo604ZLUOHDjxL0oBhGAQRHh7Px58ANteAXx2SwlgRnXEaqxx3LJG\nlBlH+vMncWr/qOKQJUKxiM4OmKNNuFAKAAIBmAZq66a7raeuxfUhMfaMTGYY\nBvUmXbcSfYPKQlabzO4upJIwjNEtKBEKBcypx8KFpf/1lXR76+J2dcTyFI/V\neoOQLciBtAufPUjGVyUie+QIpBqTRSJIicVL9HoB093iU+wlEZoTAal4zGFZ\n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\n","encoding":"base64"}},"public":true,"created_at":"2012-12-19T23:02:31Z","updated_at":"2023-08-27T08:26:42Z","description":"Donut Transitions","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/4341417/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"forks":[{"url":"https://api.github.com/gists/66d258c2ade8af24769c","user":{"login":"seemantk","id":589271,"node_id":"MDQ6VXNlcjU4OTI3MQ==","avatar_url":"https://avatars.githubusercontent.com/u/589271?v=4","gravatar_id":"","url":"https://api.github.com/users/seemantk","html_url":"https://github.com/seemantk","followers_url":"https://api.github.com/users/seemantk/followers","following_url":"https://api.github.com/users/seemantk/following{/other_user}","gists_url":"https://api.github.com/users/seemantk/gists{/gist_id}","starred_url":"https://api.github.com/users/seemantk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seemantk/subscriptions","organizations_url":"https://api.github.com/users/seemantk/orgs","repos_url":"https://api.github.com/users/seemantk/repos","events_url":"https://api.github.com/users/seemantk/events{/privacy}","received_events_url":"https://api.github.com/users/seemantk/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Seemant Kulleen","company":"@metrograph-ai","blog":"http://seemantk.com","location":"San Francisco, CA","email":null,"hireable":true,"bio":"Product manager, recovering engineer, team leader, open source person","twitter_username":null,"public_repos":29,"public_gists":42,"followers":38,"following":25,"created_at":"2011-01-29T00:17:39Z","updated_at":"2026-03-20T20:25:01Z"},"id":"66d258c2ade8af24769c","created_at":"2014-05-14T23:30:47Z","updated_at":"2015-08-29T14:01:26Z"},{"url":"https://api.github.com/gists/d747b8a00cc0156eb04716d6d43abd6c","user":{"login":"akashwadhwani","id":9028366,"node_id":"MDQ6VXNlcjkwMjgzNjY=","avatar_url":"https://avatars.githubusercontent.com/u/9028366?v=4","gravatar_id":"","url":"https://api.github.com/users/akashwadhwani","html_url":"https://github.com/akashwadhwani","followers_url":"https://api.github.com/users/akashwadhwani/followers","following_url":"https://api.github.com/users/akashwadhwani/following{/other_user}","gists_url":"https://api.github.com/users/akashwadhwani/gists{/gist_id}","starred_url":"https://api.github.com/users/akashwadhwani/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akashwadhwani/subscriptions","organizations_url":"https://api.github.com/users/akashwadhwani/orgs","repos_url":"https://api.github.com/users/akashwadhwani/repos","events_url":"https://api.github.com/users/akashwadhwani/events{/privacy}","received_events_url":"https://api.github.com/users/akashwadhwani/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Akash Wadhwani","company":null,"blog":"","location":"London","email":"akashwadhwani@outlook.com","hireable":null,"bio":"A visual storyteller specialising in data privacy and statistical analysis. I leverage Python, SQL, and Javascript.","twitter_username":null,"public_repos":15,"public_gists":6,"followers":1,"following":0,"created_at":"2014-10-05T19:09:45Z","updated_at":"2025-04-03T16:49:20Z"},"id":"d747b8a00cc0156eb04716d6d43abd6c","created_at":"2019-05-03T17:57:19Z","updated_at":"2019-05-03T17:57:20Z"},{"url":"https://api.github.com/gists/96d0b0377eeea6bd4943797154297b4f","user":{"login":"jasperchow5915","id":11704794,"node_id":"MDQ6VXNlcjExNzA0Nzk0","avatar_url":"https://avatars.githubusercontent.com/u/11704794?v=4","gravatar_id":"","url":"https://api.github.com/users/jasperchow5915","html_url":"https://github.com/jasperchow5915","followers_url":"https://api.github.com/users/jasperchow5915/followers","following_url":"https://api.github.com/users/jasperchow5915/following{/other_user}","gists_url":"https://api.github.com/users/jasperchow5915/gists{/gist_id}","starred_url":"https://api.github.com/users/jasperchow5915/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasperchow5915/subscriptions","organizations_url":"https://api.github.com/users/jasperchow5915/orgs","repos_url":"https://api.github.com/users/jasperchow5915/repos","events_url":"https://api.github.com/users/jasperchow5915/events{/privacy}","received_events_url":"https://api.github.com/users/jasperchow5915/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Jasper C.","company":null,"blog":"","location":"Melbourne","email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":49,"public_gists":20,"followers":0,"following":1,"created_at":"2015-03-29T09:58:58Z","updated_at":"2025-06-19T09:48:55Z"},"id":"96d0b0377eeea6bd4943797154297b4f","created_at":"2019-09-12T13:34:27Z","updated_at":"2019-09-12T13:34:34Z"},{"url":"https://api.github.com/gists/69763cb318ec2a70b7d7a04b7701ee5b","user":{"login":"rknield","id":7106308,"node_id":"MDQ6VXNlcjcxMDYzMDg=","avatar_url":"https://avatars.githubusercontent.com/u/7106308?v=4","gravatar_id":"","url":"https://api.github.com/users/rknield","html_url":"https://github.com/rknield","followers_url":"https://api.github.com/users/rknield/followers","following_url":"https://api.github.com/users/rknield/following{/other_user}","gists_url":"https://api.github.com/users/rknield/gists{/gist_id}","starred_url":"https://api.github.com/users/rknield/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rknield/subscriptions","organizations_url":"https://api.github.com/users/rknield/orgs","repos_url":"https://api.github.com/users/rknield/repos","events_url":"https://api.github.com/users/rknield/events{/privacy}","received_events_url":"https://api.github.com/users/rknield/received_events","type":"User","user_view_type":"public","site_admin":false,"name":null,"company":null,"blog":"","location":null,"email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":18,"public_gists":1,"followers":0,"following":0,"created_at":"2014-03-30T10:05:30Z","updated_at":"2025-12-30T06:42:14Z"},"id":"69763cb318ec2a70b7d7a04b7701ee5b","created_at":"2023-08-27T08:26:42Z","updated_at":"2023-08-27T08:26:42Z"}],"history":[{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"10da4470c73009aab929c970663cf0d6118acc51","committed_at":"2016-02-09T02:12:20Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/4341417/10da4470c73009aab929c970663cf0d6118acc51"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"5f1d36d0425a655049c353648b48f2cf050f5bcb","committed_at":"2015-10-31T01:23:18Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4341417/5f1d36d0425a655049c353648b48f2cf050f5bcb"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"abdcd81f0f0b9edb7a83721a1e63b33079624f93","committed_at":"2015-06-11T19:29:20Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4341417/abdcd81f0f0b9edb7a83721a1e63b33079624f93"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"005afef7441304f340f97fb22cd2a5c66c658dcb","committed_at":"2012-12-19T23:08:46Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4341417/005afef7441304f340f97fb22cd2a5c66c658dcb"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"d05a50e29556ae5bd55c0b47380f49df0d4bdcd3","committed_at":"2012-12-19T23:07:11Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/4341417/d05a50e29556ae5bd55c0b47380f49df0d4bdcd3"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"f3df3e02aa47982d606423ebe00070bdffbff662","committed_at":"2012-12-19T23:04:40Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4341417/f3df3e02aa47982d606423ebe00070bdffbff662"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"7455197f16a03a5dd97c05a7f7fe31d7418949fd","committed_at":"2012-12-19T23:03:57Z","change_status":{"total":6,"additions":2,"deletions":4},"url":"https://api.github.com/gists/4341417/7455197f16a03a5dd97c05a7f7fe31d7418949fd"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"c1b415da06af84c49c37d80223db590d391751cb","committed_at":"2012-12-19T23:03:16Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4341417/c1b415da06af84c49c37d80223db590d391751cb"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"0f112828291f1138931fefc21094db22cb06776c","committed_at":"2012-12-19T23:02:31Z","change_status":{"total":110,"additions":110,"deletions":0},"url":"https://api.github.com/gists/4341417/0f112828291f1138931fefc21094db22cb06776c"}],"truncated":false}