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 column chart
4
var chart = anychart.column();
5
6
// set series data
7
var series = chart.column([
8
{x:"John", value: 10000},
9
{x:"Jake", value: 12000},
10
{x:"Peter", value: 18000},
11
{x:"James", value: 11000},
12
{x:"Mary", value: 9000}
13
]);
14
var palette = anychart.palettes.distinctColors();
15
16
for (var i=0; series.getPoint(i).exists();i++)
17
series.getPoint(i).set("fill", palette.itemAt(i));
18
19
series.selected().fill("#444");
20
series.stroke(null);
21
series.name("Sales 2004");
22
23
var legend = chart.legend();
24
// enable legend
25
legend.enabled(true);
26
// set source of legend items
27
legend.itemsSourceMode("categories");
28
29
legend.itemsFormatter(function (items){
30
for (var i=0;i<items.length;i++){
31
items[i].iconType = "square";
32
items[i].iconFill = palette.itemAt([i]);
33
items[i].iconEnabled = true;
34
}
35
return items;
36
});
37
38
legend.listen("legendItemMouseOver", function(event) {
39
// get item's index
40
var index = event["itemIndex"];
41
// enable the hover state of the series
42
series.getPoint(index).hovered(true);
43
});
44
legend.listen("legendItemMouseOut", function(event) {
45
// get item's index
46
var index = event["itemIndex"];
47
// disable the hover state of the series
48
series.getPoint(index).hovered(false);
49
});
50
51
legend.listen("legendItemClick", function(event) {
52
// get item's index
53
var index = event["itemIndex"];
54
// disable the hover state of the series
55
series.getPoint(index).selected(!series.getPoint(index).selected());
56
legend.itemsFormatter(function (items){
57
for (var i=0;i<items.length;i++){
58
items[i].iconType = "square";
59
if (series.getPoint(i).selected())
60
items[i].iconFill = "#444";
61
else
62
items[i].iconFill = palette.itemAt([i]);
63
items[i].iconEnabled = true;
64
}
65
return items;
66
});
67
});
68
69
chart.listen("pointsSelect", function() {
70
legend.itemsFormatter(function (items){
71
for (var i=0;i<items.length;i++){
72
items[i].iconType = "square";
73
if (series.getPoint(i).selected())
74
items[i].iconFill = "#444";
75
else
76
items[i].iconFill = palette.itemAt([i]);
77
items[i].iconEnabled = true;
78
}
79
return items;
80
});
81
});
82
83
chart.interactivity("by-x");
84
85
chart.title("Legend Controls Points");
86
87
// set container id for the chart
88
chart.container("container");
89
90
// initiate chart drawing
91
chart.draw();
92
});