You can use the same approach for the name of the series as with a numeric value. For example,

.filter(function(d) {
    return d.series == "name"


See here for a very similar question and answer: d3 map with checkbox filtering

I think you should start by appending the circles in your scatterplot to a "dot" class. Like so:


see here for example:

Then, assuming your data has some property "name" that you are trying to filter by, do something like:

d3.selectAll(".input class id").on("change", function () {
  var selected =, 
  display = this.checked ? "inline" : "none";

    .filter(function(d) { return == selected; })
    .attr("display", display);

Related Query

More Query from same tag