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
var data = [
5
{
6
id: "1",
7
name: "Development",
8
actualStart: "2018-01-25",
9
actualEnd: "2018-04-07",
10
manager: "John Doe",
11
children: [
12
{
13
id: "1_1",
14
name: "Analysis",
15
actualStart: "2018-01-25",
16
actualEnd: "2018-02-08",
17
progressValue: "75%",
18
manager: "Richard Roe"
19
},
20
{
21
id: "1_2",
22
name: "Design",
23
actualStart: "2018-02-04",
24
actualEnd: "2018-02-24",
25
progressValue: "100%",
26
manager: "Larry Loe"
27
},
28
{
29
id: "1_3",
30
name: "Meeting",
31
actualStart: "2018-02-25",
32
actualEnd: "2018-02-25",
33
manager: "John Doe"
34
},
35
{
36
id: "1_4",
37
name: "Implementation",
38
actualStart: "2018-02-25",
39
actualEnd: "2018-03-14",
40
progressValue: "60%",
41
manager: "Marta Moe"
42
},
43
{
44
id: "1_5",
45
name: "Testing",
46
actualStart: "2018-03-15",
47
actualEnd: "2018-04-07",
48
manager: "Jane Poe"
49
}
50
]}
51
];
52
53
// create a data tree
54
var treeData = anychart.data.tree(data, "as-tree");
55
56
// create a chart
57
var chart = anychart.ganttProject();
58
59
// set the data
60
chart.data(treeData);
61
62
// configure tooltips of the data grid
63
chart.dataGrid().tooltip().useHtml(true);
64
chart.dataGrid().tooltip().format(
65
"<span style='font-weight:600;font-size:12pt'>" +
66
"{%actualStart}{dateTimeFormat:dd MMM} - " +
67
"{%actualEnd}{dateTimeFormat:dd MMM}</span><br><br>" +
68
"Progress: {%progress}<br>" +
69
"Manager: {%manager}"
70
);
71
72
// configure the scale
73
chart.getTimeline().scale().maximum("2018-04-15");
74
75
// set the container id
76
chart.container("container");
77
78
// initiate drawing the chart
79
chart.draw();
80
81
// fit elements to the width of the timeline
82
chart.fitAll();
83
});