File: logscale.html

package info (click to toggle)
rickshaw 1.5.1.dfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,864 kB
  • sloc: javascript: 15,281; makefile: 97; perl: 59
file content (100 lines) | stat: -rw-r--r-- 2,015 bytes parent folder | download | duplicates (5)
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
<!doctype html>

<link type="text/css" rel="stylesheet" href="../src/css/graph.css">
<link type="text/css" rel="stylesheet" href="css/lines.css">
<link type="text/css" rel="stylesheet" href="../src/css/detail.css">

<script src="../vendor/d3.v3.js"></script>
<script src="../rickshaw.js"></script>

<style>
#chart {
  position: relative;
  left: 40px;
  width: 800px;
  height: 300px;
}
#y_axis {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 40px;
}
#y_axis_2 {
  position: absolute;
  top: 0;
  left: 840px;
  width: 40px;
}
</style>

<div id="chart_container">
  <div id="y_axis"></div>
  <div id="chart"></div>
  <div id="y_axis_2"></div>
</div>

<script>

var random = new Rickshaw.Fixtures.RandomData(12 * 60 * 60);

var series = [[]];

for (var i = 0; i < 300; i++) {
  random.addData(series);
}
var data = series[0]

var min = Number.MAX_VALUE;
var max = Number.MIN_VALUE;
for (i = 0; i < series[0].length; i++) {
  min = Math.min(min, series[0][i].y);
  max = Math.max(max, series[0][i].y);
}

var logScale = d3.scale.log().domain([min/4, max]);
var linearScale = d3.scale.linear().domain([min, max]).range(logScale.range());
var graph = new Rickshaw.Graph( {
  element: document.getElementById("chart"),
  renderer: 'line',
  series: [
    {
      color: 'blue',
      data: JSON.parse(JSON.stringify(data)),
      name: 'Log View',
      scale: logScale
    },
    {
      color: 'red',
      data: JSON.parse(JSON.stringify(data)),
      name: 'Linear View',
      scale: linearScale
    }
  ]
} );

new Rickshaw.Graph.Axis.Y.Scaled( {
  graph: graph,
  orientation: 'left',
  tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
  element: document.getElementById('y_axis'),
  scale: logScale
} );

new Rickshaw.Graph.Axis.Y.Scaled( {
  graph: graph,
  orientation: 'right',
  tickFormat: Rickshaw.Fixtures.Number.formatKMBT,
  element: document.getElementById('y_axis_2'),
  scale: linearScale,
  grid: false
} );

new Rickshaw.Graph.HoverDetail(
{
  graph: graph
} );

graph.render();

</script>