d3_rails 2.8.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.DS_Store +0 -0
- data/README.md +27 -5
- data/lib/d3_rails/version.rb +1 -1
- data/vendor/.DS_Store +0 -0
- data/vendor/assets/.DS_Store +0 -0
- data/vendor/assets/javascripts/.DS_Store +0 -0
- data/vendor/assets/javascripts/d3.v2.js +99 -80
- data/vendor/assets/javascripts/morris.js +1 -0
- data/vendor/assets/javascripts/morris/.DS_Store +0 -0
- data/vendor/assets/javascripts/morris/Makefile +10 -0
- data/vendor/assets/javascripts/morris/README.md +87 -0
- data/vendor/assets/javascripts/morris/examples/_template.html +18 -0
- data/vendor/assets/javascripts/morris/examples/days.html +36 -0
- data/vendor/assets/javascripts/morris/examples/decimal.html +31 -0
- data/vendor/assets/javascripts/morris/examples/lib/example.css +13 -0
- data/vendor/assets/javascripts/morris/examples/lib/example.js +4 -0
- data/vendor/assets/javascripts/morris/examples/lib/prettify.css +1 -0
- data/vendor/assets/javascripts/morris/examples/lib/prettify.js +28 -0
- data/vendor/assets/javascripts/morris/examples/months-no-smooth.html +37 -0
- data/vendor/assets/javascripts/morris/examples/negative.html +35 -0
- data/vendor/assets/javascripts/morris/examples/non-date.html +36 -0
- data/vendor/assets/javascripts/morris/examples/quarters.html +53 -0
- data/vendor/assets/javascripts/morris/examples/timestamps.html +37 -0
- data/vendor/assets/javascripts/morris/examples/weeks.html +52 -0
- data/vendor/assets/javascripts/morris/morris.coffee +444 -0
- data/vendor/assets/javascripts/morris/morris.js +493 -0
- data/vendor/assets/javascripts/morris/morris.min.js +1 -0
- data/vendor/assets/javascripts/tesseract.js +1 -0
- data/vendor/assets/javascripts/tesseract/.gitignore +2 -0
- data/vendor/assets/javascripts/tesseract/LICENSE +12 -0
- data/vendor/assets/javascripts/tesseract/Makefile +48 -0
- data/vendor/assets/javascripts/tesseract/README.md +11 -0
- data/vendor/assets/javascripts/tesseract/index.js +1 -0
- data/vendor/assets/javascripts/tesseract/lib/dart/AUTHORS +9 -0
- data/vendor/assets/javascripts/tesseract/lib/dart/LICENSE +25 -0
- data/vendor/assets/javascripts/tesseract/lib/dart/dual_pivot_quicksort.dart +342 -0
- data/vendor/assets/javascripts/tesseract/package.json +11 -0
- data/vendor/assets/javascripts/tesseract/src/array.js +32 -0
- data/vendor/assets/javascripts/tesseract/src/bisect.js +44 -0
- data/vendor/assets/javascripts/tesseract/src/filter.js +19 -0
- data/vendor/assets/javascripts/tesseract/src/heap.js +44 -0
- data/vendor/assets/javascripts/tesseract/src/heapselect.js +36 -0
- data/vendor/assets/javascripts/tesseract/src/identity.js +3 -0
- data/vendor/assets/javascripts/tesseract/src/insertionsort.js +18 -0
- data/vendor/assets/javascripts/tesseract/src/null.js +3 -0
- data/vendor/assets/javascripts/tesseract/src/package.js +14 -0
- data/vendor/assets/javascripts/tesseract/src/permute.js +8 -0
- data/vendor/assets/javascripts/tesseract/src/quicksort.js +282 -0
- data/vendor/assets/javascripts/tesseract/src/reduce.js +19 -0
- data/vendor/assets/javascripts/tesseract/src/tesseract.js +663 -0
- data/vendor/assets/javascripts/tesseract/src/version.js +1 -0
- data/vendor/assets/javascripts/tesseract/src/zero.js +3 -0
- data/vendor/assets/javascripts/tesseract/tesseract.js +1177 -0
- data/vendor/assets/javascripts/tesseract/tesseract.min.js +1 -0
- data/vendor/assets/javascripts/tesseract/test/benchmark.js +177 -0
- data/vendor/assets/javascripts/tesseract/test/bisect-test.js +206 -0
- data/vendor/assets/javascripts/tesseract/test/heap-test.js +44 -0
- data/vendor/assets/javascripts/tesseract/test/permute-test.js +51 -0
- data/vendor/assets/javascripts/tesseract/test/select-test.js +63 -0
- data/vendor/assets/javascripts/tesseract/test/sort-test.js +83 -0
- data/vendor/assets/javascripts/tesseract/test/tesseract-test.js +655 -0
- data/vendor/assets/javascripts/tesseract/test/version-test.js +16 -0
- metadata +63 -8
@@ -0,0 +1 @@
|
|
1
|
+
//= require morris/morris
|
Binary file
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# Morris.js - pretty time-series line graphs
|
2
|
+
|
3
|
+
Morris.js is the library that powers the graphs on http://howmanyleft.co.uk/.
|
4
|
+
|
5
|
+
This is an early release. It's a bit rough around the edges, but it's getting pretty usable now. Expect it to get even better soon.
|
6
|
+
|
7
|
+
Cheers!
|
8
|
+
|
9
|
+
\- Olly
|
10
|
+
|
11
|
+
## Requirements
|
12
|
+
|
13
|
+
- [jQuery](http://jquery.com/) (>= 1.7 recommended, but it'll probably work with older versions)
|
14
|
+
- [Raphael.js](http://raphaeljs.com/) (>= 2.0)
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
See [the website](http://oesmith.github.com/morris.js/).
|
19
|
+
|
20
|
+
## Development
|
21
|
+
|
22
|
+
Very daring.
|
23
|
+
|
24
|
+
Fork, hack, send a pull request :)
|
25
|
+
|
26
|
+
## Changelog
|
27
|
+
|
28
|
+
### 0.2.6 - 18th March 2012
|
29
|
+
|
30
|
+
- Partial series support (see `null` y-values in `examples/quarters.html`)
|
31
|
+
- `parseTime` option bugfix for non-time-series data
|
32
|
+
|
33
|
+
### 0.2.5 - 15th March 2012
|
34
|
+
|
35
|
+
- Raw millisecond timestamp support (with `dateFormat` option)
|
36
|
+
- YYYY-MM-DD HH:MM[:SS[.SSS]] date support
|
37
|
+
- Decimal number labels
|
38
|
+
|
39
|
+
### 0.2.4 - 8th March 2012
|
40
|
+
|
41
|
+
- Negative y-values support
|
42
|
+
- `ymin` option
|
43
|
+
- `units` options
|
44
|
+
|
45
|
+
### 0.2.3 - 6th Mar 2012
|
46
|
+
|
47
|
+
- jQuery no-conflict compatibility
|
48
|
+
- Support ISO week-number dates
|
49
|
+
- Optionally hide hover on mouseout (`hideHover`)
|
50
|
+
- Optionally skip parsing dates, treating X values as an equally-spaced series (`parseTime`)
|
51
|
+
|
52
|
+
### 0.2.2 - 29th Feb 2012
|
53
|
+
|
54
|
+
- Bugfix: mouseover error when options.data.length == 2
|
55
|
+
- Automatically sort options.data
|
56
|
+
|
57
|
+
### 0.2.1 - 28th Feb 2012
|
58
|
+
|
59
|
+
- Accept a DOM element *or* an ID in `options.element`
|
60
|
+
- Add `smooth` option
|
61
|
+
- Bugfix: clone `@default`
|
62
|
+
- Add `ymax` option
|
63
|
+
|
64
|
+
## License
|
65
|
+
|
66
|
+
Copyright (c) 2012, Olly Smith
|
67
|
+
All rights reserved.
|
68
|
+
|
69
|
+
Redistribution and use in source and binary forms, with or without
|
70
|
+
modification, are permitted provided that the following conditions are met:
|
71
|
+
|
72
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
73
|
+
list of conditions and the following disclaimer.
|
74
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
75
|
+
this list of conditions and the following disclaimer in the documentation
|
76
|
+
and/or other materials provided with the distribution.
|
77
|
+
|
78
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
79
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
80
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
81
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
82
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
83
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
84
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
85
|
+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
86
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
87
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Title</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
// Insert code here:
|
16
|
+
// it'll get eval()-ed and prettyprinted.
|
17
|
+
</pre>
|
18
|
+
</body>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Formatting Dates YYYY-MM-DD</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
// data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
|
16
|
+
var day_data = [
|
17
|
+
{"period": "2012-10-01", "licensed": 3407, "sorned": 660},
|
18
|
+
{"period": "2011-08-12", "licensed": 3351, "sorned": 629},
|
19
|
+
{"period": "2011-03-03", "licensed": 3269, "sorned": 618},
|
20
|
+
{"period": "2010-08-08", "licensed": 3246, "sorned": 661},
|
21
|
+
{"period": "2010-05-10", "licensed": 3257, "sorned": 667},
|
22
|
+
{"period": "2010-03-14", "licensed": 3248, "sorned": 627},
|
23
|
+
{"period": "2010-01-10", "licensed": 3171, "sorned": 660},
|
24
|
+
{"period": "2009-12-10", "licensed": 3171, "sorned": 676},
|
25
|
+
{"period": "2009-10-07", "licensed": 3201, "sorned": 656},
|
26
|
+
{"period": "2009-09-25", "licensed": 3215, "sorned": 622},
|
27
|
+
];
|
28
|
+
Morris.Line({
|
29
|
+
element: 'graph',
|
30
|
+
data: day_data,
|
31
|
+
xkey: 'period',
|
32
|
+
ykeys: ['licensed', 'sorned'],
|
33
|
+
labels: ['Licensed', 'SORN']
|
34
|
+
});
|
35
|
+
</pre>
|
36
|
+
</body>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Decimal Data</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
var decimal_data = [];
|
16
|
+
for (var x = 0; x <= 360; x += 10) {
|
17
|
+
decimal_data.push({
|
18
|
+
x: x,
|
19
|
+
y: Math.sin(Math.PI * x / 180).toFixed(4)
|
20
|
+
});
|
21
|
+
}
|
22
|
+
window.m = Morris.Line({
|
23
|
+
element: 'graph',
|
24
|
+
data: decimal_data,
|
25
|
+
xkey: 'x',
|
26
|
+
ykeys: ['y'],
|
27
|
+
labels: ['sin(x)'],
|
28
|
+
parseTime: false
|
29
|
+
});
|
30
|
+
</pre>
|
31
|
+
</body>
|
@@ -0,0 +1 @@
|
|
1
|
+
.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
|
2
|
+
(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
|
3
|
+
[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
|
4
|
+
f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
|
5
|
+
(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
|
6
|
+
{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
|
7
|
+
t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
|
8
|
+
"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
|
9
|
+
l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
|
10
|
+
q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
|
11
|
+
q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
|
12
|
+
"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
|
13
|
+
a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
|
14
|
+
for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
|
15
|
+
m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
|
16
|
+
a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
|
17
|
+
j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
|
18
|
+
"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
|
19
|
+
H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
|
20
|
+
J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
|
21
|
+
I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
|
22
|
+
["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
|
23
|
+
/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
|
24
|
+
["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
|
25
|
+
hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
|
26
|
+
!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
|
27
|
+
250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
|
28
|
+
PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Formatting Dates with YYYY-MM</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
// data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
|
16
|
+
var month_data = [
|
17
|
+
{"period": "2012-10", "licensed": 3407, "sorned": 660},
|
18
|
+
{"period": "2011-08", "licensed": 3351, "sorned": 629},
|
19
|
+
{"period": "2011-03", "licensed": 3269, "sorned": 618},
|
20
|
+
{"period": "2010-08", "licensed": 3246, "sorned": 661},
|
21
|
+
{"period": "2010-05", "licensed": 3257, "sorned": 667},
|
22
|
+
{"period": "2010-03", "licensed": 3248, "sorned": 627},
|
23
|
+
{"period": "2010-01", "licensed": 3171, "sorned": 660},
|
24
|
+
{"period": "2009-12", "licensed": 3171, "sorned": 676},
|
25
|
+
{"period": "2009-10", "licensed": 3201, "sorned": 656},
|
26
|
+
{"period": "2009-09", "licensed": 3215, "sorned": 622},
|
27
|
+
];
|
28
|
+
Morris.Line({
|
29
|
+
element: 'graph',
|
30
|
+
data: month_data,
|
31
|
+
xkey: 'period',
|
32
|
+
ykeys: ['licensed', 'sorned'],
|
33
|
+
labels: ['Licensed', 'SORN'],
|
34
|
+
smooth: false
|
35
|
+
});
|
36
|
+
</pre>
|
37
|
+
</body>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Negative values</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
var neg_data = [
|
16
|
+
{"period": "2011-08-12", "a": 100},
|
17
|
+
{"period": "2011-03-03", "a": 75},
|
18
|
+
{"period": "2010-08-08", "a": 50},
|
19
|
+
{"period": "2010-05-10", "a": 25},
|
20
|
+
{"period": "2010-03-14", "a": 0},
|
21
|
+
{"period": "2010-01-10", "a": -25},
|
22
|
+
{"period": "2009-12-10", "a": -50},
|
23
|
+
{"period": "2009-10-07", "a": -75},
|
24
|
+
{"period": "2009-09-25", "a": -100}
|
25
|
+
];
|
26
|
+
Morris.Line({
|
27
|
+
element: 'graph',
|
28
|
+
data: neg_data,
|
29
|
+
xkey: 'period',
|
30
|
+
ykeys: ['a'],
|
31
|
+
labels: ['Series A'],
|
32
|
+
units: '%'
|
33
|
+
});
|
34
|
+
</pre>
|
35
|
+
</body>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Formatting Non-date Arbitrary X-axis</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
var day_data = [
|
16
|
+
{"elapsed": "I", "value": 34},
|
17
|
+
{"elapsed": "II", "value": 24},
|
18
|
+
{"elapsed": "III", "value": 3},
|
19
|
+
{"elapsed": "IV", "value": 12},
|
20
|
+
{"elapsed": "V", "value": 13},
|
21
|
+
{"elapsed": "VI", "value": 22},
|
22
|
+
{"elapsed": "VII", "value": 5},
|
23
|
+
{"elapsed": "VIII", "value": 26},
|
24
|
+
{"elapsed": "IX", "value": 12},
|
25
|
+
{"elapsed": "X", "value": 19},
|
26
|
+
];
|
27
|
+
Morris.Line({
|
28
|
+
element: 'graph',
|
29
|
+
data: day_data,
|
30
|
+
xkey: 'elapsed',
|
31
|
+
ykeys: ['value'],
|
32
|
+
labels: ['value'],
|
33
|
+
parseTime: false
|
34
|
+
});
|
35
|
+
</pre>
|
36
|
+
</body>
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Formatting Dates with Quarters</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
// data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
|
16
|
+
var quarter_data = [
|
17
|
+
{"period": "2011 Q3", "licensed": 3407, "sorned": 660},
|
18
|
+
{"period": "2011 Q2", "licensed": 3351, "sorned": 629},
|
19
|
+
{"period": "2011 Q1", "licensed": 3269, "sorned": 618},
|
20
|
+
{"period": "2010 Q4", "licensed": 3246, "sorned": 661},
|
21
|
+
{"period": "2010 Q3", "licensed": 3257, "sorned": 667},
|
22
|
+
{"period": "2010 Q2", "licensed": 3248, "sorned": 627},
|
23
|
+
{"period": "2010 Q1", "licensed": 3171, "sorned": 660},
|
24
|
+
{"period": "2009 Q4", "licensed": 3171, "sorned": 676},
|
25
|
+
{"period": "2009 Q3", "licensed": 3201, "sorned": 656},
|
26
|
+
{"period": "2009 Q2", "licensed": 3215, "sorned": 622},
|
27
|
+
{"period": "2009 Q1", "licensed": 3148, "sorned": 632},
|
28
|
+
{"period": "2008 Q4", "licensed": 3155, "sorned": 681},
|
29
|
+
{"period": "2008 Q3", "licensed": 3190, "sorned": 667},
|
30
|
+
{"period": "2007 Q4", "licensed": 3226, "sorned": 620},
|
31
|
+
{"period": "2006 Q4", "licensed": 3245, "sorned": null},
|
32
|
+
{"period": "2005 Q4", "licensed": 3289, "sorned": null},
|
33
|
+
{"period": "2004 Q4", "licensed": 3263, "sorned": null},
|
34
|
+
{"period": "2003 Q4", "licensed": 3189, "sorned": null},
|
35
|
+
{"period": "2002 Q4", "licensed": 3079, "sorned": null},
|
36
|
+
{"period": "2001 Q4", "licensed": 3085, "sorned": null},
|
37
|
+
{"period": "2000 Q4", "licensed": 3055, "sorned": null},
|
38
|
+
{"period": "1999 Q4", "licensed": 3063, "sorned": null},
|
39
|
+
{"period": "1998 Q4", "licensed": 2943, "sorned": null},
|
40
|
+
{"period": "1997 Q4", "licensed": 2806, "sorned": null},
|
41
|
+
{"period": "1996 Q4", "licensed": 2674, "sorned": null},
|
42
|
+
{"period": "1995 Q4", "licensed": 1702, "sorned": null},
|
43
|
+
{"period": "1994 Q4", "licensed": 1732, "sorned": null}
|
44
|
+
];
|
45
|
+
Morris.Line({
|
46
|
+
element: 'graph',
|
47
|
+
data: quarter_data,
|
48
|
+
xkey: 'period',
|
49
|
+
ykeys: ['licensed', 'sorned'],
|
50
|
+
labels: ['Licensed', 'SORN']
|
51
|
+
});
|
52
|
+
</pre>
|
53
|
+
</body>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<head>
|
3
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
|
4
|
+
<script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
|
5
|
+
<script src="../morris.js"></script>
|
6
|
+
<script src="lib/prettify.js"></script>
|
7
|
+
<script src="lib/example.js"></script>
|
8
|
+
<link rel="stylesheet" href="lib/example.css">
|
9
|
+
<link rel="stylesheet" href="lib/prettify.css">
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<h1>Timestamps</h1>
|
13
|
+
<div id="graph"></div>
|
14
|
+
<pre id="code" class="prettyprint linenums">
|
15
|
+
// data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
|
16
|
+
var timestamp_data = [
|
17
|
+
{"period": 1349046000000, "licensed": 3407, "sorned": 660},
|
18
|
+
{"period": 1313103600000, "licensed": 3351, "sorned": 629},
|
19
|
+
{"period": 1299110400000, "licensed": 3269, "sorned": 618},
|
20
|
+
{"period": 1281222000000, "licensed": 3246, "sorned": 661},
|
21
|
+
{"period": 1273446000000, "licensed": 3257, "sorned": 667},
|
22
|
+
{"period": 1268524800000, "licensed": 3248, "sorned": 627},
|
23
|
+
{"period": 1263081600000, "licensed": 3171, "sorned": 660},
|
24
|
+
{"period": 1260403200000, "licensed": 3171, "sorned": 676},
|
25
|
+
{"period": 1254870000000, "licensed": 3201, "sorned": 656},
|
26
|
+
{"period": 1253833200000, "licensed": 3215, "sorned": 622}
|
27
|
+
];
|
28
|
+
Morris.Line({
|
29
|
+
element: 'graph',
|
30
|
+
data: timestamp_data,
|
31
|
+
xkey: 'period',
|
32
|
+
ykeys: ['licensed', 'sorned'],
|
33
|
+
labels: ['Licensed', 'SORN'],
|
34
|
+
dateFormat: function (x) { return new Date(x).toDateString(); }
|
35
|
+
});
|
36
|
+
</pre>
|
37
|
+
</body>
|