1 | <!--[if IE 7]> |
---|
2 | <!DOCTYPE> |
---|
3 | <html lang="en"> |
---|
4 | <head> |
---|
5 | <![endif]--> |
---|
6 | <!--[if IE 8]> |
---|
7 | <!DOCTYPE> |
---|
8 | <html lang="en"> |
---|
9 | <head> |
---|
10 | <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/> |
---|
11 | <![endif]--> |
---|
12 | <![if gte IE 9]> |
---|
13 | <!DOCTYPE HTML> |
---|
14 | <html lang="en"> |
---|
15 | <head> |
---|
16 | <![endif]> |
---|
17 | <title>Chart 2D</title> |
---|
18 | <style type="text/css"> |
---|
19 | @import "../../../dojo/resources/dojo.css"; |
---|
20 | @import "../../../dijit/tests/css/dijitTests.css"; |
---|
21 | </style> |
---|
22 | <script type="text/javascript" src="../../../dojo/dojo.js" |
---|
23 | data-dojo-config="isDebug: true"></script> |
---|
24 | <script type="text/javascript"> |
---|
25 | |
---|
26 | dojo.require("dojox.charting.Chart"); |
---|
27 | dojo.require("dojox.charting.axis2d.Default"); |
---|
28 | dojo.require("dojox.charting.plot2d.Areas"); |
---|
29 | dojo.require("dojox.charting.plot2d.Grid"); |
---|
30 | dojo.require("dojox.charting.themes.PlotKit.orange"); |
---|
31 | dojo.require("dojox.charting.themes.Tufte"); |
---|
32 | |
---|
33 | var chart, limit = 10, magnitude = 30, counter = [0, 0, 0]; |
---|
34 | |
---|
35 | var randomValue = function(nCounter){ |
---|
36 | return {x: ++counter[nCounter], y: Math.random() * magnitude}; |
---|
37 | }; |
---|
38 | |
---|
39 | var makeSeries = function(len, nCounter){ |
---|
40 | var s = []; |
---|
41 | do{ |
---|
42 | s.push(randomValue(nCounter)); |
---|
43 | }while(s.length < len); |
---|
44 | return s; |
---|
45 | }; |
---|
46 | |
---|
47 | var seriesA = makeSeries(limit, 0), |
---|
48 | seriesB = makeSeries(limit, 1), |
---|
49 | seriesC = makeSeries(limit, 2); |
---|
50 | |
---|
51 | var makeObjects = function(){ |
---|
52 | chart = new dojox.charting.Chart("test"); |
---|
53 | chart.setTheme(dojox.charting.themes.Tufte); |
---|
54 | chart.addAxis("x", { |
---|
55 | fixLower: "minor", |
---|
56 | natural: true |
---|
57 | }); |
---|
58 | chart.addAxis("y", { |
---|
59 | vertical: true, |
---|
60 | min: 0, |
---|
61 | max: 30, |
---|
62 | majorTickStep: 5, |
---|
63 | minorTickStep: 1 |
---|
64 | }); |
---|
65 | chart.addPlot("default", {type: "Areas"}); |
---|
66 | chart.addSeries("Series A", seriesA); |
---|
67 | chart.addSeries("Series B", seriesB); |
---|
68 | chart.addSeries("Series C", seriesC); |
---|
69 | chart.addPlot("grid", { |
---|
70 | type: "Grid", hMinorLines: true |
---|
71 | }); |
---|
72 | chart.render(); |
---|
73 | |
---|
74 | setInterval(function(){updateTest();}, 500); |
---|
75 | }; |
---|
76 | |
---|
77 | var updateTest = function(){ |
---|
78 | seriesA.shift(); |
---|
79 | seriesA.push(randomValue(0)); |
---|
80 | chart.updateSeries("Series A", seriesA); |
---|
81 | |
---|
82 | seriesB.shift(); |
---|
83 | seriesB.push(randomValue(1)); |
---|
84 | chart.updateSeries("Series B", seriesB); |
---|
85 | |
---|
86 | seriesC.shift(); |
---|
87 | seriesC.push(randomValue(2)); |
---|
88 | chart.updateSeries("Series C", seriesC); |
---|
89 | |
---|
90 | chart.render(); |
---|
91 | }; |
---|
92 | |
---|
93 | dojo.addOnLoad(makeObjects); |
---|
94 | |
---|
95 | </script> |
---|
96 | </head> |
---|
97 | <body> |
---|
98 | <h1>Chart 2D Updating Data</h1> |
---|
99 | <p> |
---|
100 | Areas, grey theme, axes, grid. Very crude example to show a chart |
---|
101 | with updating values. |
---|
102 | </p> |
---|
103 | <div id="test" style="width: 400px; height: 400px;"></div> |
---|
104 | </body> |
---|
105 | </html> |
---|