Skip to content

Instantly share code, notes, and snippets.

@max-l
Last active December 15, 2018 01:57
Show Gist options
  • Save max-l/497143f7e012e488d413c43d098db462 to your computer and use it in GitHub Desktop.
Save max-l/497143f7e012e488d413c43d098db462 to your computer and use it in GitHub Desktop.
Enter+Update merge
license: mit
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script src="https://d3js.org/d3.v4.min.js"></script>
<style>
body { margin:0;position:fixed;top:0;right:0;bottom:0;left:0; }
</style>
</head>
<body>
<script>
// Feel free to change or delete any of the code you see in this editor!
var svg = d3.select("body").append("svg")
.attr("width", 960).attr("height", 500)
svg.append("text")
.text("update").attr("y", 100)
.attr("font-size", 36)
.on("click", () => {
data[0].counter += 1
update()
})
const data = [
{id: 123, counter:0}
]
const update = () => {
const counter =
d3.select("svg").selectAll("text.counter")
//d3.selectAll("text.counter")
.data(data, c=>c.id)
counter
.enter()
.append("text")
.attr("class","counter")
.merge(counter)
.text(c => c.counter)
}
update()
</script>
</body>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment