HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function () {
2
3
// create a data set
4
var data = anychart.data.set([
5
["January", 12000, 10000, 7000, 11000],
6
["February", 15000, 12000, 9000, 13000],
7
["March", 16000, 15000, 14000, 12000],
8
["April", 15000, 11000, 13000, 10000],
9
["May", 10000, 9000, 11000, 6000]
10
]);
11
12
// map the data
13
var seriesData1 = data.mapAs({x: 0, value: 1});
14
var seriesData2 = data.mapAs({x: 0, value: 2});
15
var seriesData3 = data.mapAs({x: 0, value: 3});
16
var seriesData4 = data.mapAs({x: 0, value: 4});
17
18
// create a chart
19
var chart = anychart.column();
20
21
// create series, set the data and names
22
var series1 = chart.column(seriesData1);
23
var series2 = chart.column(seriesData2);
24
var series3 = chart.column(seriesData3);
25
var series4 = chart.column(seriesData4);
26
series1.name("2015");
27
series2.name("2016");
28
series3.name("2017");
29
series4.name("2018");
30
31
/* prevent points from being selected
32
when they are clicked on */
33
chart.interactivity().selectionMode("none");
34
35
/* prevent points from being deselected
36
when a click happens outside of them */
37
chart.interactivity().unselectOnClickOutOfPoint(false);
38
39
// enable the legend
40
var legend = chart.legend();
41
legend.enabled(true);
42
43
/* listen to the legendItemMouseDown event
44
and prevent the default behavior of the legend */
45
legend.listen("legendItemMouseDown", function(e) {
46
e.preventDefault();
47
});
48
49
/* listen to the legendItemClick event,
50
select / deselect the series,
51
and configure the appearance of the legend item */
52
legend.listen("legendItemClick", function(e) {
53
var series = chart.getSeriesAt(e.itemIndex);
54
var selected = series.meta("selected");
55
if (!selected) {
56
series.select();
57
series.legendItem().iconFill("#455a64");
58
} else {
59
series.unselect();
60
series.legendItem().iconFill(series.color());
61
}
62
series.meta("selected", !selected);
63
});
64
65
/* listen to the legendItemMouseOver event
66
and prevent the default behavior of the legend
67
if the series is selected */
68
legend.listen("legendItemMouseOver", function(e) {
69
if (chart.getSeriesAt(e.itemIndex).meta("selected")) {
70
e.preventDefault();
71
}
72
});
73
74
// set the chart title
75
chart.title().useHtml(true);
76
chart.title("Events: Legend Items (Multiple Series)<br><br>" +
77
"<span style='font-size:12; font-style:italic'>" +
78
"Click on Legend Items");
79
80
// set the container id
81
chart.container("container");
82
83
// initiate drawing the chart
84
chart.draw();
85
});