{"url":"https://api.github.com/gists/5681974","forks_url":"https://api.github.com/gists/5681974/forks","commits_url":"https://api.github.com/gists/5681974/commits","id":"5681974","node_id":"MDQ6R2lzdDU2ODE5NzQ=","git_pull_url":"https://gist.github.com/5681974.git","git_push_url":"https://gist.github.com/5681974.git","html_url":"https://gist.github.com/mbostock/5681974","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/5681974/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/5681974/raw/46dd8d100371246c2b6ac68e213d306866bf4b1c/README.md","size":182,"truncated":false,"content":"This example demonstrates using a data-join with a key function to update a pie chart.\n\nNext: [Animated Data-Join](/mbostock/5682158)<br>\nPrevious: [Missing Data](/mbostock/5681842)\n","encoding":"utf-8"},"data.tsv":{"filename":"data.tsv","type":"text/tab-separated-values","language":"TSV","raw_url":"https://gist.githubusercontent.com/mbostock/5681974/raw/da2097f95a21e80d050eafac23c70f847ee85233/data.tsv","size":169,"truncated":false,"content":"region\tfruit\tcount\nEast\tApples\t53245\nWest\tApples\t28479\nSouth\tApples\t19697\nNorth\tApples\t24037\nCentral\tApples\t40245\nEast\tOranges\t200\nSouth\tOranges\t200\nCentral\tOranges\t200\n","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/5681974/raw/7bd6f0b957637659caf028aaa2ee0a0c0b4dfe22/index.html","size":1803,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n\nbody {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  margin: auto;\n  position: relative;\n  width: 960px;\n}\n\ntext {\n  font: 10px sans-serif;\n}\n\nform {\n  position: absolute;\n  right: 10px;\n  top: 10px;\n}\n\ninput {\n  margin: 0 7px;\n}\n\n</style>\n<form></form>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script>\n\nvar width = 960,\n    height = 500,\n    radius = Math.min(width, height) / 2;\n\nvar color = d3.scale.category20();\n\nvar pie = d3.layout.pie()\n    .value(function(d) { return d.count; })\n    .sort(null);\n\nvar arc = d3.svg.arc()\n    .innerRadius(radius - 100)\n    .outerRadius(radius - 20);\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .attr(\"width\", width)\n    .attr(\"height\", height)\n  .append(\"g\")\n    .attr(\"transform\", \"translate(\" + width / 2 + \",\" + height / 2 + \")\");\n\nvar path = svg.selectAll(\"path\");\n\nd3.tsv(\"data.tsv\", type, function(error, data) {\n  var regionsByFruit = d3.nest()\n      .key(function(d) { return d.fruit; })\n      .entries(data);\n\n  var label = d3.select(\"form\").selectAll(\"label\")\n      .data(regionsByFruit)\n    .enter().append(\"label\");\n\n  label.append(\"input\")\n      .attr(\"type\", \"radio\")\n      .attr(\"name\", \"fruit\")\n      .attr(\"value\", function(d) { return d.key; })\n      .on(\"change\", change)\n    .filter(function(d, i) { return !i; })\n      .each(change)\n      .property(\"checked\", true);\n\n  label.append(\"span\")\n      .text(function(d) { return d.key; });\n\n  function change(region) {\n    path = path.data(pie(region.values), function(d) { return d.data.region; });\n    path.enter().append(\"path\").attr(\"fill\", function(d) { return color(d.data.region); });\n    path.exit().remove();\n    path.attr(\"d\", arc);\n  }\n});\n\nfunction type(d) {\n  d.count = +d.count;\n  return d;\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/5681974/raw/be90eb471c3572e5855824c7021f2de2b8eedd10/thumbnail.png","size":6213,"truncated":false,"content":"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\nFkzexxynp48/jcP9h7MCJUVXKcpKYH5z5Tex9ZNbZxyUpNpiLx764sX48Q0r\nZcNoWhNmQ7SFcmogyml7HzRX2GKOWffEh2RNJRU8q87sISgjWgRzvHNwz6X3\nyGjrbBC5t7dv3YvX2vpl1zzVomQIWk7/8fZLsKKmkCchW8z366F9D8ludtmA\nklzXGn8NfvWJX80aKEl1JV5s/coarK0vxnBU/RGqFAWOJlKylpP1nhjMEbUO\ntspePV67+nYgdObIgoIFePBjD8okgdkmcme3fnkNrlpWicFIUhZFqxRFgbcf\nMrZuWAzmX+j+PfdjMD6ovCVIKBHClrotcj25sGDhrB0fKoJ++EsX49tbFsug\njUo4aWPGbrPih880YyCS4MnIYBp6oeMFGfRRHfChLnmb6zbjgSseQKmndNaP\nEx3r9+0tjfjHzQ0Ix1NKE+UpEHTo9DD+a9dxnpAMpiHK7hldC6paU1K95qqK\nVbjvI/dldS90OnTnxxbh5g21CMbVrjnznDb88pUTcg+VwTS5Xj39qrxUJqjT\nlki1vxr3b7xfdszLRX3/Mxfg8sVl0nKqtMgn+sL47Z4OBtPsA/CbI7+R5Vyq\nrCUloVMC+l1r7pJR2FwVQfQPmxfDabfILQ9Vctpt+N0bJ5HQ0gymWdU21IYd\n7TuUWkvKe91Uu0leuS46x+SOKxfJ7Q5la02HFQc6h/HsoW4G06x6tPlR9Mf6\nlZ26RS4sbYvce+m9puma9/fCan56RaWsVlGzPjeSDp7a38VgmlHkctKR6qra\nhNDrUardnSvvlEXNZtJ3tzSi1O98t1tC5u6sFftODcltGQbTZOoOd8tTnR0W\nNWCSC3tFzRWyhtJsqi/zycOFIgk1VpM6KxzpDuLVY30Mptn0Rvcb6I30Kkko\nIEtJ69Rbl99q2ol084Y61Jf6lARtKHc2oaXw1DtdDKbZ9GLHi0hDjatEyekb\nqzdiRdkK004kStv76/W1stmWGnfWht3CYmomPaTIlGBS7uqenj1KOt6RtaTj\n9m5pugVm1/Wra7Cw3K/EajpsFnmK2H6x1mQwTaK3e95Gx3AH7NbMy5iosPqy\nuZfhovKLTA9mkdeJG9bWKAnaUHOwUEzDc4d7GEzTgHnmbdkaUsWWBvXmocZZ\nLENXL6uUXfBUJB3YhNV8u2OQwTSLDvQdULJ3SXBTds/6OeuZyBHVlnhxYU2h\n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\nQmCC\n","encoding":"base64"}},"public":true,"created_at":"2013-05-30T23:06:16Z","updated_at":"2016-02-09T02:04:47Z","description":"Pie Chart Update, IV","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/5681974/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/5682158","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,"name":"Mike Bostock","company":"@observablehq ","blog":"https://observablehq.com/@mbostock","location":"San Francisco, CA","email":"mike@ocks.org","hireable":null,"bio":"Building a better computational medium. Co-founder @observablehq. Creator @d3. Former @nytgraphics. Pronounced BOSS-tock.","twitter_username":"mbostock","public_repos":88,"public_gists":1043,"followers":23361,"following":0,"created_at":"2010-03-25T22:02:56Z","updated_at":"2026-02-24T17:31:44Z"},"id":"5682158","created_at":"2013-05-30T23:54:49Z","updated_at":"2025-07-08T14:17:08Z"}],"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":"16df356d33379c5986eb45c04ce29252135df2ce","committed_at":"2016-02-09T02:04:45Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/5681974/16df356d33379c5986eb45c04ce29252135df2ce"},{"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":"9335587cf34dc3178089c42fc3f3fc726d7a22a4","committed_at":"2015-10-31T01:44:34Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/5681974/9335587cf34dc3178089c42fc3f3fc726d7a22a4"},{"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":"c9ecaa03bc3423da51e262c7de79bd19988399bd","committed_at":"2015-06-11T19:22:06Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/5681974/c9ecaa03bc3423da51e262c7de79bd19988399bd"},{"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":"b037b629ccf8147e074412c35e88f2e10e6a34ac","committed_at":"2013-05-30T23:55:37Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/5681974/b037b629ccf8147e074412c35e88f2e10e6a34ac"},{"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":"c4637bc4986e2e65e0019dd26187b247a4dad42e","committed_at":"2013-05-30T23:06:49Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/5681974/c4637bc4986e2e65e0019dd26187b247a4dad42e"},{"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":"cf0484a38f421e4d00186bc82df1dae5bb66b9e9","committed_at":"2013-05-30T23:06:17Z","change_status":{"total":99,"additions":99,"deletions":0},"url":"https://api.github.com/gists/5681974/cf0484a38f421e4d00186bc82df1dae5bb66b9e9"}],"truncated":false}