{"url":"https://api.github.com/gists/3310323","forks_url":"https://api.github.com/gists/3310323/forks","commits_url":"https://api.github.com/gists/3310323/commits","id":"3310323","node_id":"MDQ6R2lzdDMzMTAzMjM=","git_pull_url":"https://gist.github.com/3310323.git","git_push_url":"https://gist.github.com/3310323.git","html_url":"https://gist.github.com/mbostock/3310323","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/3310323/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/3310323/raw/9b430e67067c92e6ee20c2fa600043504c68679c/README.md","size":582,"truncated":false,"content":"D3 2.10 allows you to implement custom interpolators for [d3.svg.line](https://github.com/mbostock/d3/wiki/SVG-Shapes#wiki-line) and [d3.svg.area](https://github.com/mbostock/d3/wiki/SVG-Shapes#wiki-area). This contrived example shows how to draw arcs between data points using SVG’s [elliptical arc path segments](http://www.w3.org/TR/SVG/paths.html#PathDataEllipticalArcCommands).\n\n```javascript\nvar line = d3.svg.line()\n    .interpolate(function(points) { return points.join(\"A 1,1 0 0 1 \"); })\n    .x(function(d) { return x(d.x); })\n    .y(function(d) { return y(d.y); });\n```","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/3310323/raw/29be8655bb16177166eb967677a7e2da646adc40/index.html","size":1797,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n\nbody {\n  font: 10px sans-serif;\n}\n\n.axis path,\n.axis line {\n  fill: none;\n  stroke: #000;\n  shape-rendering: crispEdges;\n}\n\n.line {\n  fill: none;\n  stroke: steelblue;\n  stroke-width: 1.5px;\n}\n\n.dot {\n  fill: white;\n  stroke: steelblue;\n  stroke-width: 1.5px;\n}\n\n</style>\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script>\n\nvar data = d3.range(20).map(function(i) {\n  return {x: i / 19, y: (Math.sin(i / 3) + 2) / 4};\n});\n\nvar margin = {top: 20, right: 30, bottom: 30, left: 40},\n    width = 960 - margin.left - margin.right,\n    height = 500 - margin.top - margin.bottom;\n\nvar x = d3.scale.linear()\n    .domain([0, 1])\n    .range([0, width]);\n\nvar y = d3.scale.linear()\n    .domain([0, 1])\n    .range([height, 0]);\n\nvar xAxis = d3.svg.axis()\n    .scale(x)\n    .orient(\"bottom\");\n\nvar yAxis = d3.svg.axis()\n    .scale(y)\n    .orient(\"left\");\n\nvar line = d3.svg.line()\n    .interpolate(function(points) { return points.join(\"A 1,1 0 0 1 \"); }) // custom interpolator\n    .x(function(d) { return x(d.x); })\n    .y(function(d) { return y(d.y); });\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .datum(data)\n    .attr(\"width\", width + margin.left + margin.right)\n    .attr(\"height\", height + margin.top + margin.bottom)\n  .append(\"g\")\n    .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\n\nsvg.append(\"g\")\n    .attr(\"class\", \"x axis\")\n    .attr(\"transform\", \"translate(0,\" + height + \")\")\n    .call(xAxis);\n\nsvg.append(\"g\")\n    .attr(\"class\", \"y axis\")\n    .call(yAxis);\n\nsvg.append(\"path\")\n    .attr(\"class\", \"line\")\n    .attr(\"d\", line);\n\nsvg.selectAll(\".dot\")\n    .data(data)\n  .enter().append(\"circle\")\n    .attr(\"class\", \"dot\")\n    .attr(\"cx\", line.x())\n    .attr(\"cy\", line.y())\n    .attr(\"r\", 3.5);\n\n</script>\n","encoding":"utf-8"},"thumbnail.png":{"filename":"thumbnail.png","type":"image/png","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/3310323/raw/278138b5ea0c07b8cfa4baf9f48d5e82dfac00b3/thumbnail.png","size":5674,"truncated":false,"content":"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\nrkJggg==\n","encoding":"base64"}},"public":true,"created_at":"2012-08-10T01:58:28Z","updated_at":"2017-02-16T15:23:41Z","description":"Line Interpolation","comments":1,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/3310323/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/3960741","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":23374,"following":0,"created_at":"2010-03-25T22:02:56Z","updated_at":"2026-04-10T07:01:19Z"},"id":"3960741","created_at":"2012-10-26T19:01:34Z","updated_at":"2016-02-09T01:42:54Z"},{"url":"https://api.github.com/gists/19930824146ee439b78d","user":{"login":"Timopheym","id":525039,"node_id":"MDQ6VXNlcjUyNTAzOQ==","avatar_url":"https://avatars.githubusercontent.com/u/525039?v=4","gravatar_id":"","url":"https://api.github.com/users/Timopheym","html_url":"https://github.com/Timopheym","followers_url":"https://api.github.com/users/Timopheym/followers","following_url":"https://api.github.com/users/Timopheym/following{/other_user}","gists_url":"https://api.github.com/users/Timopheym/gists{/gist_id}","starred_url":"https://api.github.com/users/Timopheym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Timopheym/subscriptions","organizations_url":"https://api.github.com/users/Timopheym/orgs","repos_url":"https://api.github.com/users/Timopheym/repos","events_url":"https://api.github.com/users/Timopheym/events{/privacy}","received_events_url":"https://api.github.com/users/Timopheym/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Timophey Molchanov","company":"@merantix ","blog":"http://timopheym.me","location":"Berlin","email":"timopheym@gmail.com","hireable":null,"bio":null,"twitter_username":null,"public_repos":88,"public_gists":16,"followers":41,"following":58,"created_at":"2010-12-15T22:51:35Z","updated_at":"2026-04-19T00:56:41Z"},"id":"19930824146ee439b78d","created_at":"2014-06-16T12:23:49Z","updated_at":"2015-08-29T14:02:37Z"},{"url":"https://api.github.com/gists/575132f334888f1e434b8d5874901afe","user":{"login":"lianyi","id":8431331,"node_id":"MDQ6VXNlcjg0MzEzMzE=","avatar_url":"https://avatars.githubusercontent.com/u/8431331?v=4","gravatar_id":"","url":"https://api.github.com/users/lianyi","html_url":"https://github.com/lianyi","followers_url":"https://api.github.com/users/lianyi/followers","following_url":"https://api.github.com/users/lianyi/following{/other_user}","gists_url":"https://api.github.com/users/lianyi/gists{/gist_id}","starred_url":"https://api.github.com/users/lianyi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lianyi/subscriptions","organizations_url":"https://api.github.com/users/lianyi/orgs","repos_url":"https://api.github.com/users/lianyi/repos","events_url":"https://api.github.com/users/lianyi/events{/privacy}","received_events_url":"https://api.github.com/users/lianyi/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"lianyi","company":null,"blog":"","location":"Bethesda MD","email":null,"hireable":null,"bio":"Software Architect\r\nData Visualization\r\nFrontend\r\nBackend\r\nSQL/NoSQL\r\nUI/UX\r\niOS/Mobile\r\nJavaScript\r\nJava\r\nC/C++\r\nObject-C\r\nSwift\r\nPerl\r\nPython\r\nFortran","twitter_username":null,"public_repos":128,"public_gists":30,"followers":15,"following":8,"created_at":"2014-08-12T19:47:18Z","updated_at":"2025-12-08T14:46:59Z"},"id":"575132f334888f1e434b8d5874901afe","created_at":"2017-02-16T15:23:41Z","updated_at":"2017-02-16T15:23:41Z"}],"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":"ebe354291cc13a10ebf0fa58a7291e4703d9b7a7","committed_at":"2016-02-09T01:31:51Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/3310323/ebe354291cc13a10ebf0fa58a7291e4703d9b7a7"},{"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":"3ba0c46ac2bd954fa0c71282f77f88a48fc28126","committed_at":"2015-10-31T00:57:09Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3310323/3ba0c46ac2bd954fa0c71282f77f88a48fc28126"},{"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":"b97ce893a18593faed105b77a408dd2daec820b2","committed_at":"2015-06-11T17:02:40Z","change_status":{"total":7,"additions":4,"deletions":3},"url":"https://api.github.com/gists/3310323/b97ce893a18593faed105b77a408dd2daec820b2"},{"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":"e8e72a7d2fd1e5f0b2e1ff1c9e604b7dcb02dbb1","committed_at":"2012-10-12T03:56:36Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/3310323/e8e72a7d2fd1e5f0b2e1ff1c9e604b7dcb02dbb1"},{"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":"4329c544673efbf0b10e2fdc355baae2e6c5c41f","committed_at":"2012-08-12T21:51:11Z","change_status":{"total":11,"additions":9,"deletions":2},"url":"https://api.github.com/gists/3310323/4329c544673efbf0b10e2fdc355baae2e6c5c41f"},{"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":"11010020092887829b3b137dd9ab956944ec7340","committed_at":"2012-08-10T03:23:43Z","change_status":{"total":4,"additions":2,"deletions":2},"url":"https://api.github.com/gists/3310323/11010020092887829b3b137dd9ab956944ec7340"},{"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":"ebaebcb7c879c4e2a2cfd17ac554d376fe6604e0","committed_at":"2012-08-10T01:58:48Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/3310323/ebaebcb7c879c4e2a2cfd17ac554d376fe6604e0"},{"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":"025ce7fa20c36613f206ee7f1b8ef2389cee9b1b","committed_at":"2012-08-10T01:58:28Z","change_status":{"total":90,"additions":90,"deletions":0},"url":"https://api.github.com/gists/3310323/025ce7fa20c36613f206ee7f1b8ef2389cee9b1b"}],"truncated":false}