Blame view

samples/areaWithTimeBasedData.html 4.13 KB
eed3c9f67   tom200e   first file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  <html>
      
      <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          <title>amCharts examples</title>
          <link rel="stylesheet" href="style.css" type="text/css">
          <script src="../amcharts/amcharts.js" type="text/javascript"></script>
          <script src="../amcharts/serial.js" type="text/javascript"></script>         
          <script type="text/javascript">
              var chart;
  
              var chartData = [];
  
              AmCharts.ready(function () {
                  // first we generate some random data
                  generateChartData();
  
                  // SERIAL CHART
                  chart = new AmCharts.AmSerialChart();
                  chart.pathToImages = "../amcharts/images/";
                  chart.dataProvider = chartData;
                  chart.categoryField = "date";
  
                  // data updated event will be fired when chart is first displayed,
                  // also when data will be updated. We'll use it to set some
                  // initial zoom
                  chart.addListener("dataUpdated", zoomChart);
  
                  // AXES
                  // Category
                  var categoryAxis = chart.categoryAxis;
                  categoryAxis.parseDates = true; // in order char to understand dates, we should set parseDates to true
                  categoryAxis.minPeriod = "mm"; // as we have data with minute interval, we have to set "mm" here.			 
                  categoryAxis.gridAlpha = 0.07;
                  categoryAxis.axisColor = "#DADADA";
  
                  // Value
                  var valueAxis = new AmCharts.ValueAxis();
                  valueAxis.gridAlpha = 0.07;
                  valueAxis.title = "Unique visitors";
                  chart.addValueAxis(valueAxis);
  
                  // GRAPH
                  var graph = new AmCharts.AmGraph();
                  graph.type = "line"; // try to change it to "column"
                  graph.title = "red line";
                  graph.valueField = "visits";
                  graph.lineAlpha = 1;
                  graph.lineColor = "#d1cf2a";
                  graph.fillAlphas = 0.3; // setting fillAlphas to > 0 value makes it area graph
                  chart.addGraph(graph);
  
                  // CURSOR
                  var chartCursor = new AmCharts.ChartCursor();
                  chartCursor.cursorPosition = "mouse";
                  chartCursor.categoryBalloonDateFormat = "JJ:NN, DD MMMM";
                  chart.addChartCursor(chartCursor);
  
                  // SCROLLBAR
                  var chartScrollbar = new AmCharts.ChartScrollbar();
  
                  chart.addChartScrollbar(chartScrollbar);
  
                  // WRITE
                  chart.write("chartdiv");
              });
  
              // generate some random data, quite different range 
              function generateChartData() {
                  // current date
                  var firstDate = new Date();
                  // now set 1000 minutes back                 
                  firstDate.setMinutes(firstDate.getDate() - 1000);
  
                  // and generate 1000 data items
                  for (var i = 0; i < 1000; i++) {
                      var newDate = new Date(firstDate);
                      // each time we add one minute
                      newDate.setMinutes(newDate.getMinutes() + i);
                      // some random number      
                      var visits = Math.round(Math.random() * 40) + 10;
                      // add data item to the array                          
                      chartData.push({
                          date: newDate,
                          visits: visits
                      });
                  }
              }
  
              // this method is called when chart is first inited as we listen for "dataUpdated" event
              function zoomChart() {
                  // different zoom methods can be used - zoomToIndexes, zoomToDates, zoomToCategoryValues
                  chart.zoomToIndexes(chartData.length - 40, chartData.length - 1);
              }
          </script>
      </head>
      
      <body>
          <div id="chartdiv" style="width:100%; height:400px;"></div>
      </body>
  
  </html>