Skip to content

Instantly share code, notes, and snippets.

Last active January 13, 2022 23:01
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save d3noob/10632804 to your computer and use it in GitHub Desktop.
Linking HTML input and d3.js
license: mit

This is a simple example of implimenting an HTML input using a <range> input tag and using that to adjust a d3.js drawn svg element (a circle).

It is used as an example and described in the book D3 Tips and Tricks.

<!DOCTYPE html>
<meta charset="utf-8">
<title>Input test (circle)</title>
<label for="nRadius"
style="display: inline-block; width: 240px; text-align: right">
radius = <span id="nRadius-value">…</span>
<input type="range" min="1" max="150" id="nRadius">
<script src=""></script>
var width = 600;
var height = 300;
var holder ="body")
.attr("width", width)
.attr("height", height);
// draw the circle
.attr("cx", 300)
.attr("cy", 150)
.style("fill", "none")
.style("stroke", "blue")
.attr("r", 120);
// when the input range changes update the circle"#nRadius").on("input", function() {
// Initial starting radius of the circle
// update the elements
function update(nRadius) {
// adjust the text on the range slider"#nRadius-value").text(nRadius);"#nRadius").property("value", nRadius);
// update the rircle radius
.attr("r", nRadius);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment