HTMLcopy
1
<div id="container"></div>
CSScopy
8
1
html,
2
body,
3
#container {
4
width: 100%;
5
height: 100%;
6
margin: 0;
7
padding: 0;
8
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function () {
2
// The data used in this sample can be obtained from the CDN
3
// https://cdn.anychart.com/samples/gantt-general-features/styling-labels/data.json
4
anychart.data.loadJsonFile(
5
'https://cdn.anychart.com/samples/gantt-general-features/styling-labels/data.json',
6
function (data) {
7
// create data tree on raw data
8
var treeData = anychart.data.tree(data, 'as-table');
9
10
// create project gantt chart
11
var chart = anychart.ganttProject();
12
13
// set data for the chart
14
chart.data(treeData);
15
16
// get chart data grid link to set column settings
17
var dataGrid = chart.dataGrid();
18
// set column width
19
dataGrid.column(1).width(275);
20
21
// set the splitter position
22
chart.splitterPosition(328);
23
24
// set default row height
25
chart.defaultRowHeight(40);
26
27
// create palette
28
var palette = anychart.palettes.distinctColors();
29
palette.items(['#64b5f6', '#ef6c00', '#fff', '#00838f']);
30
31
// get chart timeline
32
var timeLine = chart.getTimeline();
33
34
// set base labels settings
35
timeLine
36
.elements()
37
.labels()
38
.format('{%Name}')
39
.fontColor(palette.itemAt(0))
40
.position('left-center')
41
.anchor('right-center')
42
.offsetX(5);
43
44
// set parent labels settings
45
timeLine
46
.groupingTasks()
47
.labels()
48
.format('Group: {%Name}')
49
.fontColor(palette.itemAt(1))
50
.fontWeight('bold')
51
.position('right-center')
52
.anchor('left-center');
53
54
// set milestones labels settings
55
var milestonesLabels = timeLine
56
.milestones()
57
.labels()
58
.format('{%actualStart}{dateTimeFormat:d.MM.yy (HH:mm)}: {%Name}')
59
.position('left-center')
60
.anchor('right-center');
61
milestonesLabels
62
.background()
63
.enabled(true)
64
.fill('orange 0.3')
65
.stroke('none');
66
67
// set progress labels settings
68
var progressLabels = timeLine.tasks().progress().labels();
69
progressLabels
70
.enabled(true)
71
.format('{%progress}')
72
.padding(2)
73
.position('right-center')
74
.anchor('left-center')
75
.fontColor(palette.itemAt(2))
76
.fontSize(8);
77
progressLabels
78
.background()
79
.enabled(true)
80
.fill('#333')
81
.stroke('none');
82
83
// set base line labels settings
84
timeLine
85
.baselines()
86
.labels()
87
.enabled(true)
88
.fontColor(palette.itemAt(3))
89
.position('left-bottom')
90
.anchor('right-bottom')
91
.hAlign('middle')
92
.fontSize(7)
93
.format(
94
'Planned: {%baselineStart}{dateTimeFormat:d.MM} - {%baselineEnd}{dateTimeFormat:d.MM}'
95
);
96
97
// set scale maximum and minimum
98
chart.xScale().minimum(Date.UTC(2009, 11));
99
chart.xScale().maximum(Date.UTC(2010, 4));
100
101
// set container id for the chart
102
chart.container('container');
103
104
// initiate chart drawing
105
chart.draw();
106
107
// zoom chart all dates range
108
chart.fitAll();
109
}
110
);
111
});