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
["Task 1", Date.UTC(2004,0,4), Date.UTC(2004,7,1)],
7
["Task 2", Date.UTC(2004,7,1), Date.UTC(2005,8,10)]
8
];
9
10
var rangeData2 = [
11
["New Task 1", Date.UTC(2005,10,1), Date.UTC(2006,5,1)],
12
["New Task 2", Date.UTC(2006,5,15), Date.UTC(2006,11,1)]
13
];
14
15
var momentData1 = [
16
[Date.UTC(2004,2,21), "Meeting 1"],
17
[Date.UTC(2005,3,19), "Meeting 2"],
18
[Date.UTC(2006,1,1), "Meeting 3"]
19
];
20
21
var momentData2 = [
22
[Date.UTC(2004,5,12), "Training 1"],
23
[Date.UTC(2005,5,1), "Training 2"],
24
[Date.UTC(2006,1,26), "Training 3"]
25
];
26
27
// create a chart
28
var chart = anychart.timeline();
29
30
// prevent zooming the chart with the mouse wheel
31
chart.interactivity().zoomOnMouseWheel(false);
32
33
// create the first range series, set the data and name
34
var rangeSeries1 = chart.range(rangeData1);
35
rangeSeries1.name("Tasks");
36
37
// create the second range series, set the data and name
38
var rangeSeries2 = chart.range(rangeData2);
39
rangeSeries2.name("New Tasks");
40
41
// create the first moment series, set the data and name
42
var momentSeries1 = chart.moment(momentData1);
43
momentSeries1.name("Meetings");
44
45
// create the second moment series, set the data and name
46
var momentSeries2 = chart.moment(momentData2);
47
momentSeries2.name("Trainings");
48
49
// create two range markers
50
var rangeMarker1 = chart.rangeMarker(0);
51
var rangeMarker2 = chart.rangeMarker(1);
52
53
// set the range of the first marker
54
rangeMarker1.from(Date.UTC(2004,0,1));
55
rangeMarker1.to(Date.UTC(2005,0,1));
56
57
// set the range of the second marker
58
rangeMarker2.from(Date.UTC(2005,0,1));
59
rangeMarker2.to(Date.UTC(2006,0,1));
60
61
// set the fill of markers
62
rangeMarker1.fill("#dd2c00", 0.2);
63
rangeMarker2.fill("#00bfa5", 0.2);
64
65
// create two text markers
66
var textMarker1 = chart.textMarker(0);
67
var textMarker2 = chart.textMarker(1);
68
69
// get the 'from' values of line markers
70
var rangeMarker1FromValue = rangeMarker1.from()
71
var rangeMarker2FromValue = rangeMarker2.from();
72
73
// set the values of text markers
74
textMarker1.value(rangeMarker1FromValue);
75
textMarker2.value(rangeMarker2FromValue);
76
77
// set the text of markers
78
textMarker1.useHtml(true);
79
textMarker1.text(
80
anychart.format.dateTime(rangeMarker1FromValue, "y")
81
);
82
textMarker2.text(
83
anychart.format.dateTime(rangeMarker2FromValue, "y")
84
);
85
86
// configure the font of markers
87
textMarker1.fontColor("#dd2c00");
88
textMarker2.fontColor("#00bfa5");
89
textMarker1.fontWeight(600);
90
textMarker2.fontWeight(600);
91
92
// configure the position of markers
93
textMarker1.rotation(0);
94
textMarker2.rotation(0);
95
textMarker1.offsetX(-40);
96
textMarker2.offsetX(-40);
97
textMarker1.offsetY(20);
98
textMarker2.offsetY(20);
99
100
// set the chart title
101
chart.title("Timeline Chart: Range Markers (+ Text Markers)");
102
103
// set the container id
104
chart.container("container");
105
106
// initiate drawing the chart
107
chart.draw();
108
});