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
var chart = anychart.line();
4
5
chart.title("Extra Axes Units Comparison Sample");
6
7
// setting xScale settings
8
chart.xScale(anychart.scales.linear());
9
var xScale = chart.xScale();
10
xScale.minimum(1940);
11
xScale.maximum(2010);
12
var xTicks = chart.xScale().ticks();
13
xTicks.interval(5);
14
15
// setting yScale settings
16
var yScale = chart.yScale();
17
yScale.minimum(0);
18
yScale.maximum(12000000000000);
19
var yScaleTicks = chart.yScale().ticks();
20
yScaleTicks.interval(2000000000000);
21
22
// adding and adjusting extra Y scale
23
var extraYScale = anychart.scales.linear();
24
extraYScale.minimum(0);
25
extraYScale.maximum(140);
26
var extraYScaleTicks = extraYScale.ticks();
27
extraYScaleTicks.interval(20);
28
29
// adding and adjusting extra Y axis
30
var extraYAxis = chart.yAxis(1);
31
extraYAxis.orientation("right");
32
extraYAxis.scale(extraYScale);
33
34
// setting yAxes titles
35
var yAxis = chart.yAxis(0);
36
yAxis.title("Debt");
37
extraYAxis.title("GDP");
38
39
// yAxes labels text adjusting
40
var yLabels = chart.yAxis(0).labels();
41
yLabels.format(function(){
42
var value = (this.value/1000000000000);
43
if (value > 0)
44
value = (this.value/1000000000000) + " 000 bil.";
45
return "$" + value;
46
});
47
var yLabels1 = chart.yAxis(1).labels();
48
yLabels1.format(function(){
49
return this.value + "%";
50
});
51
52
// disable x axis title
53
var xAxis = chart.xAxis();
54
xAxis.title(false);
55
56
// enabling x axis stagger mode
57
xAxis.staggerMode(true);
58
59
// settings for labels of x axis
60
var xLabels = chart.xAxis().labels();
61
xLabels.width(50);
62
xLabels.hAlign("center");
63
64
// disable minorGrid
65
chart.minorGrid(null);
66
67
// setting first series of data
68
var firstSeries = anychart.data.set([
69
[1940, 52.4],
70
[1941, 50.5],
71
[1942, 54.9],
72
[1943, 79.2],
73
[1944, 97.6],
74
[1945, 117.5],
75
[1946, 121.7],
76
[1947, 109.6],
77
[1948, 98.3],
78
[1949, 93],
79
[1950, 93.9],
80
[1951, 79.5],
81
[1952, 74.3],
82
[1953, 71.2],
83
[1954, 71.6],
84
[1955, 69.4],
85
[1956, 63.8],
86
[1957, 60.4],
87
[1958, 60.7],
88
[1959, 58.4],
89
[1960, 56],
90
[1961, 55],
91
[1962, 53.3],
92
[1963, 51.7],
93
[1964, 49.3],
94
[1965, 46.9],
95
[1966, 43.6],
96
[1967, 41.8],
97
[1968, 42.5],
98
[1969, 38.5],
99
[1970, 37.6],
100
[1971, 37.7],
101
[1972, 36.9],
102
[1973, 35.6],
103
[1974, 33.6],
104
[1975, 34.7],
105
[1976, 36.2],
106
[1977, 35.8],
107
[1978, 35],
108
[1979, 33.1],
109
[1980, 33.3],
110
[1981, 32.5],
111
[1982, 35.2],
112
[1983, 39.9],
113
[1984, 40.8],
114
[1985, 43.9],
115
[1986, 48.2],
116
[1987, 50.5],
117
[1988, 51.9],
118
[1989, 53.1],
119
[1990, 55.9],
120
[1991, 60.7],
121
[1992, 64.4],
122
[1993, 66.3],
123
[1994, 66.9],
124
[1995, 67.2],
125
[1996, 67.3],
126
[1997, 65.6],
127
[1998, 63.5],
128
[1999, 61.4],
129
[2000, 58],
130
[2001, 57.4],
131
[2002, 59.7],
132
[2003, 62.4],
133
[2004, 63.7],
134
[2005, 65.7],
135
[2006, 67.5],
136
[2007, 68.7],
137
[2008, 69.3],
138
[2009, 69.8],
139
[2010, 70]
140
]);
141
142
// setting second series of data
143
var secondSeries = anychart.data.set([
144
[1940, 45500000000],
145
[1941, 56500000000],
146
[1942, 100000000000],
147
[1943, 170000000000],
148
[1944, 216500000000],
149
[1945, 263535000000],
150
[1946, 262600000000],
151
[1947, 257900000000],
152
[1948, 252563000000],
153
[1949, 257037000000],
154
[1950, 257357352351],
155
[1951, 255221976815],
156
[1952, 259105178785],
157
[1953, 275168120129],
158
[1954, 278749814391],
159
[1955, 280768553189],
160
[1956, 276627527996],
161
[1957, 274897784291],
162
[1958, 282922423583],
163
[1959, 290797771718],
164
[1960, 310000000000],
165
[1961, 296168761214],
166
[1962, 303470080489],
167
[1963, 309346845059],
168
[1964, 317940472718],
169
[1965, 320904110042],
170
[1966, 329319249366],
171
[1967, 344663009745],
172
[1968, 358028625002],
173
[1969, 368225581254],
174
[1970, 389158403690],
175
[1971, 424130961959],
176
[1972, 449298066119],
177
[1973, 469898039554],
178
[1974, 492665000000],
179
[1975, 576649000000],
180
[1976, 653544000000],
181
[1977, 718943000000],
182
[1978, 789207000000],
183
[1979, 845116000000],
184
[1980, 930210000000],
185
[1981, 1028729000000],
186
[1982, 1197073000000],
187
[1983, 1410702000000],
188
[1984, 1662966000000],
189
[1985, 1945941616459],
190
[1986, 2125302616658],
191
[1987, 2350276890953],
192
[1988, 2602337712041],
193
[1989, 2857430960187],
194
[1990, 3233313451777],
195
[1991, 3665303351697],
196
[1992, 4064620655521],
197
[1993, 4411488883139],
198
[1994, 4692749910013],
199
[1995, 4973982900709],
200
[1996, 5224810939135],
201
[1997, 5413146011397],
202
[1998, 5526193008897],
203
[1999, 5605523901615],
204
[2000, 5674178209887],
205
[2001, 5807463412200],
206
[2002, 6228235965597],
207
[2003, 6783231062743],
208
[2004, 7379052696330],
209
[2005, 7932709661723],
210
[2006, 8506973899215],
211
{ x: 2007, value: 9350102000000, fill: "#FFF", hoverFill: "#FFF", stroke: "#000", hoverStroke: "#000"},
212
{ x: 2008, value: 9948640000000, fill: "#FFF", hoverFill: "#FFF", stroke: "#000", hoverStroke: "#000"},
213
{ x: 2009, value: 10543521000000, fill: "#FFF", hoverFill: "#FFF", stroke: "#000", hoverStroke: "#000"},
214
{ x: 2010, value: 11137297000000, fill: "#FFF", hoverFill: "#FFF", stroke: "#000", hoverStroke: "#000"}
215
]);
216
217
// adjusting data visualisation
218
var lineSeries = chart.line(firstSeries);
219
lineSeries.stroke("#00F");
220
lineSeries.hoverStroke("#00F");
221
lineSeries.yScale(extraYScale);
222
223
var columnSeries = chart.column(secondSeries);
224
columnSeries.fill(["#FF0000", "#880000"], -90);
225
columnSeries.stroke("#000", 1);
226
columnSeries.hoverStroke("#FFF", 1);
227
columnSeries.hoverFill(["#FF0000", "#880000"], -90);
228
229
var tooltip = chart.tooltip();
230
tooltip.titleFormat(function(){
231
return "Year: " + this.points[0].x;
232
});
233
tooltip.unionFormat(function(){
234
var gdp = "GDP - " + this.points[0].value + "%";
235
var debt = (this.points[1].value / 1000000000).toFixed(0);
236
if (debt > 999)
237
debt = ("" + debt/1000).replace(".", " ");
238
return gdp + "\nDebt - $" + debt + " bil." ;
239
});
240
241
chart.container("container");
242
chart.draw();
243
});