Subversion Repositories php-qbpwcf

Rev

Rev 23 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23 liveuser 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
	<head>
4
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5
		<title>amStock Example</title>
6
		<link rel="stylesheet" href="../amcharts/style.css" type="text/css">
7
 
8
		<script src="../amcharts/amcharts.js" type="text/javascript"></script>
9
		<script src="../amcharts/serial.js" type="text/javascript"></script>
10
		<script src="../amcharts/amstock.js" type="text/javascript"></script>
11
 
12
		<script>
13
			AmCharts.ready(function () {
14
				generateChartData();
15
				createStockChart();
16
			});
17
 
18
			var chartData = [];
19
 
20
			function generateChartData() {
21
				var firstDate = new Date();
22
				firstDate.setHours(0, 0, 0, 0);
23
				firstDate.setDate(firstDate.getDate() - 2000);
24
 
25
				for (var i = 0; i < 2000; i++) {
26
					var newDate = new Date(firstDate);
27
 
28
					newDate.setDate(newDate.getDate() + i);
29
 
30
					var open = Math.round(Math.random() * (30) + 100);
31
					var close = open + Math.round(Math.random() * (15) - Math.random() * 10);
32
 
33
					var low;
34
					if (open < close) {
35
						low = open - Math.round(Math.random() * 5);
36
					} else {
37
						low = close - Math.round(Math.random() * 5);
38
					}
39
 
40
					var high;
41
					if (open < close) {
42
						high = close + Math.round(Math.random() * 5);
43
					} else {
44
						high = open + Math.round(Math.random() * 5);
45
					}
46
 
47
					var volume = Math.round(Math.random() * (1000 + i)) + 100 + i;
48
 
49
					var value = Math.round(Math.random() * (30) + 100);
50
 
51
					chartData[i] = ({
52
						date: newDate,
53
						open: open,
54
						close: close,
55
						high: high,
56
						low: low,
57
						volume: volume,
58
						value: value
59
					});
60
				}
61
			}
62
 
63
			function createStockChart() {
64
				var chart = new AmCharts.AmStockChart();
65
 
66
 
67
				// DATASET //////////////////////////////////////////
68
				var dataSet = new AmCharts.DataSet();
69
				dataSet.fieldMappings = [{
70
					fromField: "open",
71
					toField: "open"
72
				}, {
73
					fromField: "close",
74
					toField: "close"
75
				}, {
76
					fromField: "high",
77
					toField: "high"
78
				}, {
79
					fromField: "low",
80
					toField: "low"
81
				}, {
82
					fromField: "volume",
83
					toField: "volume"
84
				}, {
85
					fromField: "value",
86
					toField: "value"
87
				}];
88
				dataSet.color = "#7f8da9";
89
				dataSet.dataProvider = chartData;
90
				dataSet.title = "West Stock";
91
				dataSet.categoryField = "date";
92
 
93
				var dataSet2 = new AmCharts.DataSet();
94
				dataSet2.fieldMappings = [{
95
					fromField: "value",
96
					toField: "value"
97
				}];
98
				dataSet2.color = "#fac314";
99
				dataSet2.dataProvider = chartData;
100
				dataSet2.compared = true;
101
				dataSet2.title = "East Stock";
102
				dataSet2.categoryField = "date";
103
 
104
				chart.dataSets = [dataSet, dataSet2];
105
 
106
				// PANELS ///////////////////////////////////////////
107
				var stockPanel = new AmCharts.StockPanel();
108
				stockPanel.title = "Value";
109
				stockPanel.showCategoryAxis = false;
110
				stockPanel.percentHeight = 70;
111
 
112
				var valueAxis = new AmCharts.ValueAxis();
113
				valueAxis.dashLength = 5;
114
				stockPanel.addValueAxis(valueAxis);
115
 
116
				stockPanel.categoryAxis.dashLength = 5;
117
 
118
				// graph of first stock panel
119
				var graph = new AmCharts.StockGraph();
120
				graph.type = "candlestick";
121
				graph.openField = "open";
122
				graph.closeField = "close";
123
				graph.highField = "high";
124
				graph.lowField = "low";
125
				graph.valueField = "close";
126
				graph.lineColor = "#7f8da9";
127
				graph.fillColors = "#7f8da9";
128
				graph.negativeLineColor = "#db4c3c";
129
				graph.negativeFillColors = "#db4c3c";
130
				graph.proCandlesticks = true;
131
				graph.fillAlphas = 1;
132
				graph.useDataSetColors = false;
133
				graph.comparable = true;
134
				graph.compareField = "value";
135
				graph.showBalloon = false;
136
				stockPanel.addStockGraph(graph);
137
 
138
				var stockLegend = new AmCharts.StockLegend();
139
				stockLegend.valueTextRegular = undefined;
140
				stockLegend.periodValueTextComparing = "[[percents.value.close]]%";
141
				stockPanel.stockLegend = stockLegend;
142
 
143
				var chartCursor = new AmCharts.ChartCursor();
144
				chartCursor.valueLineEnabled = true;
145
				chartCursor.valueLineAxis = valueAxis;
146
				stockPanel.chartCursor = chartCursor;
147
 
148
				var stockPanel2 = new AmCharts.StockPanel();
149
				stockPanel2.title = "Volume";
150
				stockPanel2.percentHeight = 30;
151
				stockPanel2.marginTop = 1;
152
				stockPanel2.showCategoryAxis = true;
153
 
154
				var valueAxis2 = new AmCharts.ValueAxis();
155
				valueAxis2.dashLength = 5;
156
				stockPanel2.addValueAxis(valueAxis2);
157
 
158
				stockPanel2.categoryAxis.dashLength = 5;
159
 
160
				var graph2 = new AmCharts.StockGraph();
161
				graph2.valueField = "volume";
162
				graph2.type = "column";
163
				graph2.showBalloon = false;
164
				graph2.fillAlphas = 1;
165
				stockPanel2.addStockGraph(graph2);
166
 
167
				var legend2 = new AmCharts.StockLegend();
168
				legend2.markerType = "none";
169
				legend2.markerSize = 0;
170
				legend2.labelText = "";
171
				legend2.periodValueTextRegular = "[[value.close]]";
172
				stockPanel2.stockLegend = legend2;
173
 
174
				var chartCursor2 = new AmCharts.ChartCursor();
175
				chartCursor2.valueLineEnabled = true;
176
				chartCursor2.valueLineAxis = valueAxis2;
177
				stockPanel2.chartCursor = chartCursor2;
178
 
179
				chart.panels = [stockPanel, stockPanel2];
180
 
181
 
182
				// OTHER SETTINGS ////////////////////////////////////
183
				var sbsettings = new AmCharts.ChartScrollbarSettings();
184
				sbsettings.graph = graph;
185
				sbsettings.graphType = "line";
186
				sbsettings.usePeriod = "WW";
187
				sbsettings.updateOnReleaseOnly = false;
188
				chart.chartScrollbarSettings = sbsettings;
189
 
190
 
191
				// PERIOD SELECTOR ///////////////////////////////////
192
				var periodSelector = new AmCharts.PeriodSelector();
193
				periodSelector.position = "bottom";
194
				periodSelector.periods = [{
195
					period: "DD",
196
					count: 10,
197
					label: "10 days"
198
				}, {
199
					period: "MM",
200
					selected: true,
201
					count: 1,
202
					label: "1 month"
203
				}, {
204
					period: "YYYY",
205
					count: 1,
206
					label: "1 year"
207
				}, {
208
					period: "YTD",
209
					label: "YTD"
210
				}, {
211
					period: "MAX",
212
					label: "MAX"
213
				}];
214
				chart.periodSelector = periodSelector;
215
 
216
				chart.write('chartdiv');
217
			}
218
 
219
 
220
		</script>
221
	</head>
222
	<body style="background-color:#FFFFFF">
223
		<div id="chartdiv" style="width:100%; height:600px;"></div>
224
	</body>
225
 
226
</html>