HTMLcopy
1
<div id="controls">
2
<div>
3
<strong>Fruits</strong><br>
4
<label>
5
<input type="checkbox" id="appleCheckbox" checked> Apple
6
</label><br>
7
<label>
8
<input type="checkbox" id="bananaCheckbox" checked> Banana
9
</label><br>
10
</div>
11
<div>
12
<strong>Vegetables</strong><br>
13
<label>
14
<input type="checkbox" id="tomatoCheckbox" checked> Tomato
15
</label><br>
16
<label>
17
<input type="checkbox" id="cucumberCheckbox" checked> Cucumber
18
</label><br>
19
</div>
20
</div>
21
<div id="container"></div>
CSScopy
x
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
7
8
#container{
9
height: 60%
10
}
11
12
#controls{
13
display: grid;
14
grid-template-columns: 1fr 1fr;
15
}
JavaScriptcopy
57
1
anychart.onDocumentReady(function() {
2
3
// define data points:
4
var fruitsData = [
5
{x: 1, value: 14, name: "Apple"},
6
{x: 2, value: 55, name: "Banana"}
7
];
8
var vegetablesData = [
9
{x: 1, value: 30, name: "Tomato"},
10
{x: 2, value: 45, name: "Cucumber"}
11
];
12
13
// create a scatter plot:
14
var chart = anychart.scatter();
15
16
// add two marker series:
17
var fruitsSeries = chart.marker(fruitsData).name("Fruits").size(10);
18
var vegetablesSeries = chart.marker(vegetablesData).name("Vegetables").size(10);
19
20
// define a callback function to toggle point visibility:
21
function togglePoint(series, index, isChecked) {
22
if (isChecked) {
23
series.includePoint(index)
24
} else {
25
series.excludePoint(index)
26
}
27
}
28
29
// add event listeners for checkboxes:
30
// control the fruits series:
31
document.getElementById("appleCheckbox").addEventListener("change", function () {
32
togglePoint(fruitsSeries, 0, this.checked);
33
});
34
document.getElementById("bananaCheckbox").addEventListener("change", function () {
35
togglePoint(fruitsSeries, 1, this.checked);
36
});
37
// control the vegetables series:
38
document.getElementById("tomatoCheckbox").addEventListener("change", function () {
39
togglePoint(vegetablesSeries, 0, this.checked);
40
});
41
document.getElementById("cucumberCheckbox").addEventListener("change", function () {
42
togglePoint(vegetablesSeries, 1, this.checked);
43
});
44
45
// set scale limits for the axes:
46
chart.yScale().minimum(0).maximum(60);
47
chart.xScale().minimum(0).maximum(3);
48
49
// configure the tooltip format:
50
chart.tooltip().format("{%name}: {%x} vs. {%value}");
51
52
// set the chart title, container, and render the chart:
53
chart.title("Show/Hide Data Points");
54
chart.container("container");
55
chart.draw();
56
57
});