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 data
4
5
var rangeData1 = [
6
{name: "Task 1", start: Date.UTC(2004,0,4), end: Date.UTC(2004,7,1),
7
manager: "John Doe"},
8
{name: "Task 2", start: Date.UTC(2004,7,1), end: Date.UTC(2005,8,10),
9
manager: "Richard Roe"}
10
];
11
12
var rangeData2 = [
13
{name: "New Task 1", start: Date.UTC(2005,10,1), end: Date.UTC(2006,5,1),
14
manager: "Larry Loe"},
15
{name: "New Task 2", start: Date.UTC(2006,5,15), end: Date.UTC(2006,11,1),
16
manager: "Marta Moe"}
17
];
18
19
var momentData1 = [
20
{x: Date.UTC(2004,2,21), y: "Meeting 1"},
21
{x: Date.UTC(2005,3,19), y: "Meeting 2"},
22
{x: Date.UTC(2006,1,1), y: "Meeting 3"}
23
];
24
25
var momentData2 = [
26
{x: Date.UTC(2004,5,12), y: "Training 1"},
27
{x: Date.UTC(2005,5,1), y: "Training 2"},
28
{x: Date.UTC(2006,1,26), y: "Training 3"}
29
];
30
31
// create a chart
32
var chart = anychart.timeline();
33
34
// prevent zooming the chart with the mouse wheel
35
chart.interactivity().zoomOnMouseWheel(false);
36
37
// create the first range series, set the data and name
38
var rangeSeries1 = chart.range(rangeData1);
39
rangeSeries1.name("Tasks");
40
41
// create the second range series, set the data and name
42
var rangeSeries2 = chart.range(rangeData2);
43
rangeSeries2.name("New Tasks");
44
45
// create the first moment series, set the data and name
46
var momentSeries1 = chart.moment(momentData1);
47
momentSeries1.name("Meetings");
48
49
// create the second moment series, set the data and name
50
var momentSeries2 = chart.moment(momentData2);
51
momentSeries2.name("Trainings");
52
53
// format labels of range series
54
var rangeLabelFormat =
55
"{%start}{dateTimeFormat:MMM} - {%end}{dateTimeFormat:MMM}";
56
rangeSeries1.labels().format(rangeLabelFormat);
57
rangeSeries2.labels().format(rangeLabelFormat);
58
59
// configure labels of range series
60
rangeSeries1.labels().fontColor("#64b5f6");
61
rangeSeries2.labels().fontColor("#1976d2");
62
63
// format labels of moment series
64
var momentLabelFormat = "{%x}{dateTimeFormat:dd MMM}";
65
momentSeries1.labels().format(momentLabelFormat);
66
momentSeries2.labels().format(momentLabelFormat);
67
68
// configure labels of moment series
69
momentSeries1.labels().width(50);
70
momentSeries2.labels().width(50);
71
momentSeries1.labels().fontColor("#96a6a6");
72
momentSeries2.labels().fontColor("#96a6a6");
73
momentSeries1.labels().background().stroke("#ffa000", 2);
74
momentSeries2.labels().background().stroke("#ffd54f", 2);
75
76
//format labels of the axis
77
chart.axis().labels().format(
78
"{%tickValue}{dateTimeFormat:MMM y}"
79
);
80
81
// format tooltips of range series
82
var rangeTooltipFormat =
83
"<span style='font-weight:600;font-size:12pt'>" +
84
"{%name}</span><br><br>Dates: " +
85
"{%start}{dateTimeFormat:dd MMM} - " +
86
"{%end}{dateTimeFormat:dd MMM}" +
87
"<br>Group: {%seriesName}<br><br>Manager: {%manager}";
88
rangeSeries1.tooltip().useHtml(true);
89
rangeSeries2.tooltip().useHtml(true);
90
rangeSeries1.tooltip().format(rangeTooltipFormat);
91
rangeSeries2.tooltip().format(rangeTooltipFormat);
92
93
// configure tooltips of range series
94
rangeSeries1.tooltip().title().enabled(false);
95
rangeSeries2.tooltip().title().enabled(false);
96
rangeSeries1.tooltip().separator().enabled(false);
97
rangeSeries2.tooltip().separator().enabled(false);
98
99
// format tooltips of moment series
100
var momentTooltipFormat =
101
"<span style='font-weight:600;font-size:12pt'>" +
102
"{%y}</span><br><br>Date: {%x}{dateTimeFormat:dd MMM}" +
103
"<br>Group: {%seriesName}";
104
momentSeries1.tooltip().useHtml(true);
105
momentSeries2.tooltip().useHtml(true);
106
momentSeries1.tooltip().format(momentTooltipFormat);
107
momentSeries2.tooltip().format(momentTooltipFormat);
108
109
// configure tooltips of moment series
110
momentSeries1.tooltip().title().enabled(false);
111
momentSeries2.tooltip().title().enabled(false);
112
momentSeries1.tooltip().separator().enabled(false);
113
momentSeries2.tooltip().separator().enabled(false);
114
115
// set the chart title
116
chart.title("Timeline Chart: Labels and Tooltips (Tokens)");
117
118
// set the container id
119
chart.container("container");
120
121
// initiate drawing the chart
122
chart.draw();
123
});