HTMLcopy
1
<div id="container"></div>
CSScopy
x
1
html, body, #container {
2
width: 100%;
3
margin: 0;
4
padding: 0;
5
}
6
7
.anychart-tooltip {
8
background: #fff;
9
color: #333;
10
box-shadow: 0 0 3px #333;
11
}
12
13
.anychart-tooltip div {
14
font-size: 10px;
15
min-width: 350px;
16
}
17
18
.anychart-tooltip td {
19
padding: 0 5px;
20
}
JavaScriptcopy
56
1
function tooltipFormatter(ctx) {
2
var events = ctx.getData('events');
3
var tooltip = document.createElement('div');
4
var table = document.createElement('table');
5
var thead = table.createTHead();
6
thead.style.fontWeight = 'bold';
7
var tr = thead.insertRow();
8
var cell = tr.insertCell();
9
cell.textContent = 'Time';
10
cell = tr.insertCell();
11
cell.textContent = 'Event';
12
cell = tr.insertCell();
13
cell.textContent = 'Volatility Level';
14
var tbody = table.createTBody();
15
for (var i = 0; i < events.length; i++) {
16
var row = tbody.insertRow();
17
Object.values(events[i]).forEach(function(value) {
18
cell = row.insertCell();
19
cell.textContent = value;
20
});
21
}
22
tooltip.appendChild(table);
23
return tooltip.innerHTML;
24
}
25
26
anychart.onDocumentReady(function() {
27
anychart.data.loadJsonFile(
28
'https://cdn.anychart.com/samples/calendar-chart/economic-calendar/data.json',
29
function(data) {
30
var dataset = anychart.data.set(data);
31
var mapping = dataset.mapAs({
32
x: 'timestamp',
33
value: 'averageVolatility'
34
});
35
var chart = anychart.calendar(mapping);
36
37
var customColorScale = anychart.scales.linearColor();
38
customColorScale.colors(['#f1ad37', '#db340a']);
39
40
// Set color scale.
41
chart.colorScale(customColorScale);
42
43
chart.tooltip()
44
.useHtml(true)
45
.hideDelay(3000)
46
.format(tooltipFormatter);
47
48
chart.listen('chartDraw', function() {
49
document.getElementById('container').style.height = chart.getActualHeight() + 'px';
50
});
51
52
chart.container('container');
53
chart.draw();
54
}
55
);
56
});