Prepend license to dygraph.min.js
[dygraphs.git] / tests / two-axes.html
CommitLineData
54425b14 1<!DOCTYPE html>
f09fc545
DV
2<html>
3 <head>
4 <title>Multiple y-axes</title>
7e5ddc94
DV
5 <!--
6 For production (minified) code, use:
7 <script type="text/javascript" src="dygraph-combined.js"></script>
8 -->
fbd6834a 9 <script type="text/javascript" src="../dist/dygraph.js"></script>
7e5ddc94 10
f09fc545
DV
11 </head>
12 <body>
13 <h2>Multiple y-axes</h2>
aa4ddc56 14 <p>The same data with both one and two y-axes. Two y-axes:</p>
c866c1fe 15 <p>Two y-axes with y as primary axis (default):</p>
70be5ed1 16 <div id="demodiv" style="width: 640; height: 350; border: 1px solid black"></div>
c866c1fe
DE
17 <p>Two y-axes with y2 as primary axis:</p>
18 <div id="demodiv_y2_primary" style="width: 640; height: 350; border: 1px solid black"></div>
19 <p>Two y-axes using different grids:</p>
20 <div id="demodiv_two_grids" style="width: 640; height: 350; border: 1px solid black"></div>
21 <p>A single y-axis (left):</p>
70be5ed1 22 <div id="demodiv_one" style="width: 640; height: 350; border: 1px solid black"></div>
c866c1fe
DE
23 <p>A single y-axis (right):</p>
24 <div id="demodiv_one_right" style="width: 640; height: 350; border: 1px solid black"></div>
aa4ddc56 25
f09fc545
DV
26 <script type="text/javascript">
27 var data = [];
28 for (var i = 1; i <= 100; i++) {
29 var m = "01", d = i;
30 if (d > 31) { m = "02"; d -= 31; }
31 if (m == "02" && d > 28) { m = "03"; d -= 28; }
32 if (m == "03" && d > 31) { m = "04"; d -= 31; }
33 if (d < 10) d = "0" + d;
34 // two series, one with range 1-100, one with range 1-2M
35 data.push([new Date("2010/" + m + "/" + d),
36 i,
37 100 - i,
38 1e6 * (1 + i * (100 - i) / (50 * 50)),
39 1e6 * (2 - i * (100 - i) / (50 * 50))]);
40 }
aa4ddc56 41
f09fc545 42 g = new Dygraph(
aa4ddc56
DV
43 document.getElementById("demodiv"),
44 data,
45 {
46 labels: [ 'Date', 'Y1', 'Y2', 'Y3', 'Y4' ],
27fd63fc
DV
47 series: {
48 'Y3': {
49 axis: 'y2'
50 },
51 'Y4': {
52 axis: 'y2'
53 },
48e614ac
DV
54 },
55 axes: {
2b66af4f
DV
56 y: {
57 axisLabelWidth: 60
58 },
48e614ac
DV
59 y2: {
60 // set axis-related properties here
61 labelsKMB: true
62 }
d0c39108
DV
63 },
64 ylabel: 'Primary y-axis',
65 y2label: 'Secondary y-axis',
aa4ddc56
DV
66 }
67 );
c866c1fe 68
aa4ddc56 69 g2 = new Dygraph(
c866c1fe
DE
70 document.getElementById("demodiv_y2_primary"),
71 data,
72 {
73 labels: [ 'Date', 'Y1', 'Y2', 'Y3', 'Y4' ],
74 ylabel: 'Primary y-axis',
75 y2label: 'Secondary y-axis',
76 series : {
77 'Y3': {
78 axis: 'y2'
79 },
80 'Y4': {
81 axis: 'y2'
82 }
83 },
84 axes: {
85 y: {
86 // set axis-related properties here
87 drawGrid: false,
88 independentTicks: false
89 },
90 y2: {
91 // set axis-related properties here
92 labelsKMB: true,
93 drawGrid: true,
94 independentTicks: true
95 }
96 }
97 }
98 );
99
100 g3 = new Dygraph(
101 document.getElementById("demodiv_two_grids"),
aa4ddc56
DV
102 data,
103 {
104 labels: [ 'Date', 'Y1', 'Y2', 'Y3', 'Y4' ],
107f9d8e
DV
105 ylabel: 'Primary y-axis',
106 y2label: 'Secondary y-axis',
c866c1fe
DE
107 series : {
108 'Y3': {
109 axis: 'y2'
110 },
111 'Y4': {
112 axis: 'y2'
113 }
114 },
115 axes: {
116 y2: {
117 // set axis-related properties here
118 labelsKMB: true,
119 drawGrid: true,
120 independentTicks: true,
121 gridLinePattern: [2,2]
122 }
123 }
aa4ddc56
DV
124 }
125 );
44c6bc29 126
c866c1fe
DE
127 g4 = new Dygraph(
128 document.getElementById("demodiv_one"),
129 data,
130 {
131 labels: [ 'Date', 'Y1', 'Y2', 'Y3', 'Y4' ],
132 labelsKMB: true,
133 ylabel: 'Primary y-axis',
134 y2label: 'Secondary y-axis',
135 }
136 );
137
138 g5 = new Dygraph(
139 document.getElementById("demodiv_one_right"),
140 data,
141 {
142 labels: [ 'Date', 'Y1', 'Y2', 'Y3', 'Y4' ],
143 ylabel: 'Primary y-axis',
144 y2label: 'Secondary y-axis',
145 series : {
146 'Y1': {
147 axis: 'y2'
148 },
149 'Y2': {
150 axis: 'y2'
151 },
152 'Y3': {
153 axis: 'y2'
154 },
155 'Y4': {
156 axis: 'y2'
157 }
158 },
159 axes: {
160 y: {
161 // set axis-related properties here
162 drawGrid: false,
163 independentTicks: false
164 },
165 y2: {
166 // set axis-related properties here
167 labelsKMB: true,
168 drawGrid: true,
169 independentTicks: true
170 }
171 }
172 }
173 );
174
44c6bc29
DV
175 function update(el) {
176 g.updateOptions( { fillGraph: el.checked } );
177 g2.updateOptions( { fillGraph: el.checked } );
c866c1fe
DE
178 g3.updateOptions( { fillGraph: el.checked } );
179 g4.updateOptions( { fillGraph: el.checked } );
180 g5.updateOptions( { fillGraph: el.checked } );
44c6bc29 181 }
f09fc545 182 </script>
44c6bc29
DV
183
184 <input type=checkbox id="check" onChange="update(this)"><label for="check"> Fill?</label>
f09fc545
DV
185</body>
186</html>