annotate test-data/references/10-clustersStat.html @ 30:fce825ec2c84 draft default tip

planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 01b92e7e17eb8bc125451bf41684f512cf16d3c5-dirty
author oinizan
date Fri, 02 May 2025 07:44:22 +0000
parents 646bee69560f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
1 <!DOCTYPE html>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
2 <!--
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
3 # Copyright (C) 2015 INRA
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
4 #
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
5 # This program is free software: you can redistribute it and/or modify
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
6 # it under the terms of the GNU General Public License as published by
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
7 # the Free Software Foundation, either version 3 of the License, or
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
8 # (at your option) any later version.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
9 #
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
10 # This program is distributed in the hope that it will be useful,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
13 # GNU General Public License for more details.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
14 #
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
15 # You should have received a copy of the GNU General Public License
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
17 -->
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
18 <html>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
19 <head>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
20 <title>FROGS Cluster stat</title>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
21 <meta charset="UTF-8">
27
646bee69560f planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit b6afc353bed8654c3a9ca56d194ecc7827d9ca18
oinizan
parents: 25
diff changeset
22 <meta name="version" content="4.2.0">
25
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
23 <!-- CSS -->
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
24 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.css"></link>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
25 <link rel="stylesheet" href="https://cdn.datatables.net/1.10.19/css/dataTables.bootstrap4.min.css"></link>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
26 <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
27 <style type="text/css">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
28 #js-alert {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
29 width: 90%;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
30 margin-right: auto;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
31 margin-left: auto;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
32 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
33 #content {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
34 width: 90%;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
35 margin-right: auto;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
36 margin-left: auto;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
37 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
38 .clear {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
39 clear: both;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
40 height: 0px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
41 width: 100%;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
42 float: none !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
43 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
44 ul.nav-tabs {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
45 margin-bottom: 30px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
46 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
47 #hc-graph {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
48 height: 500px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
49 overflow: auto;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
50 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
51 #hc-warning {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
52 margin-top: 8px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
53 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
54 #hc-newick {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
55 width: 90%;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
56 position: absolute;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
57 background-color: white;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
58 border: 1px solid lightgrey;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
59 border-radius:5px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
60 padding: 5px 5px 5px 5px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
61 margin-top: 10px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
62 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
63 #dispersion {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
64 height: 1000px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
65 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
66 #twofigs{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
67 height: 600px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
68 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
69 .label-badge {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
70 position: absolute;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
71 top: -10px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
72 left: -10px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
73 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
74 .badge-primary{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
75 background-color:#8EADAC;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
76 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
77 .graph-nb {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
78 color: #95959C;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
79 font-style: italic;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
80 text-align: center;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
81 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
82 .circle {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
83 border-style: solid;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
84 border-width: 3px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
85 border-radius: 50px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
86 box-shadow: 2px 2px 2px #555;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
87 border-color: #648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
88 background: radial-gradient( #8EADAC, #648a89);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
89 color: white;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
90 padding: 10px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
91 width: 180px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
92 height: 98px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
93 line-height: 30px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
94 text-align: center;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
95 margin-left: auto;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
96 margin-right: auto;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
97 margin-bottom: 10px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
98 vertical-align: middle;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
99 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
100 .circle-value {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
101 font-weight: bold;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
102 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
103 .d3-node {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
104 cursor: pointer;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
105 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
106 .d3-node-dot {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
107 fill: #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
108 stroke: #8EADAC;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
109 stroke-width: 3px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
110 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
111 .d3-collapsed-node {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
112 fill: #8EADAC;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
113 stroke: #648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
114 stroke-width: 3px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
115 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
116 .d3-node text {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
117 font: 13px sans-serif;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
118 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
119 .d3-link {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
120 fill: none;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
121 stroke: #648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
122 stroke-width: 2px;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
123 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
124 .page-item.active .page-link {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
125 z-index: 1;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
126 color: #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
127 background-color: #8EADAC;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
128 border-color: #8EADAC;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
129 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
130 .btn {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
131 color: #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
132 border:#8EADAC;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
133 background-color: #8EADAC;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
134 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
135 .btn:focus, .btn:active {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
136 outline: none !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
137 box-shadow: none !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
138 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
139 .btn:hover{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
140 color: #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
141 border:#648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
142 background-color: #648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
143 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
144 .pb-2, .py-2 {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
145 padding-bottom: 1.5rem !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
146 margin-bottom: 2rem !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
147 margin-top: 4rem !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
148 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
149 .pb-2-first{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
150 padding-bottom: 1.5rem !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
151 margin-bottom: 2rem !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
152 margin-top: 1rem !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
153 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
154 .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
155 color: #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
156 background-color: #8EADAF;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
157 border-color: #dee2e6 #dee2e6 #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
158 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
159 a {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
160 color: #8EAEAF;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
161 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
162 a:hover{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
163 color:#648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
164 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
165 .page-link{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
166 color: #8EAEAF;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
167 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
168 .page-link:hover{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
169
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
170 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
171 .page-link:not(:disabled):not(.disabled) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
172 color: #8EAEAF;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
173 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
174 .page-item.active .page-link {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
175 color: #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
176 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
177 .highcharts-button > path{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
178 stroke:#fff !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
179 fill:#8EADAC !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
180 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
181 g.highcharts-button{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
182 cursor:pointer !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
183 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
184 g.highcharts-button:hover{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
185 color: #fff;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
186 border:#648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
187 background-color: #648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
188 background-color: #648a89;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
189 cursor:pointer !important;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
190 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
191 </style>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
192 <!-- JS -->
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
193 <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
194 <script type="text/javascript" src="https://code.highcharts.com/8.2.0/highcharts.js"></script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
195 <script type="text/javascript" src="https://code.highcharts.com/8.2.0/highcharts-more.js"></script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
196 <script type="text/javascript" src="https://code.highcharts.com/8.2.0/modules/exporting.js"></script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
197 <script type="text/javascript" src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
198 <script type="text/javascript" src="https://cdn.datatables.net/1.10.19/js/dataTables.bootstrap4.min.js"></script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
199 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
200 <script type="text/javascript">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
201 /*
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
202 * d3 v3 - JavaScript d3 Library
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
203 * (http://d3js.org/)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
204 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
205 !function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function r(n){return null===n?0/0:+n}function u(n){return!isNaN(n)}function i(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function c(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function l(){this._=Object.create(null)}function s(n){return(n+="")===pa||n[0]===va?va+n:n}function f(n){return(n+="")[0]===va?n.slice(1):n}function h(n){return s(n)in this._}function g(n){return(n=s(n))in this._&&delete this._[n]}function p(){var n=[];for(var t in this._)n.push(f(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function m(){this._=Object.create(null)}function y(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=da.length;r>e;++e){var u=da[e]+t;if(u in n)return u}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new l;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function S(){ta.event.preventDefault()}function k(){for(var n,t=ta.event;n=t.sourceEvent;)t=n;return t}function E(n){for(var t=new _,e=0,r=arguments.length;++e<r;)t[arguments[e]]=w(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=ta.event;u.target=n,ta.event=u,t[u.type].apply(e,r)}finally{ta.event=i}}},t}function A(n){return ya(n,_a),n}function N(n){return"function"==typeof n?n:function(){return Ma(n,this)}}function C(n){return"function"==typeof n?n:function(){return xa(n,this)}}function z(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=ta.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function q(n){return n.trim().replace(/\s+/g," ")}function L(n){return new RegExp("(?:^|\\s+)"+ta.requote(n)+"(?:\\s+|$)","g")}function T(n){return(n+"").trim().split(/^|\s+/)}function R(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=T(n).map(D);var u=n.length;return"function"==typeof t?r:e}function D(n){var t=L(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",q(u+" "+n))):e.setAttribute("class",q(u.replace(t," ")))}}function P(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function U(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function j(n){function t(){var t=this.ownerDocument,e=this.namespaceURI;return e?t.createElementNS(e,n):t.createElement(n)}function e(){return this.ownerDocument.createElementNS(n.space,n.local)}return"function"==typeof n?n:(n=ta.ns.qualify(n)).local?e:t}function F(){var n=this.parentNode;n&&n.removeChild(this)}function H(n){return{__data__:n}}function O(n){return function(){return ba(this,n)}}function I(n){return arguments.length||(n=e),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function Y(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function Z(n){return ya(n,Sa),n}function V(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function X(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,ra(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+ta.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=$;a>0&&(n=n.slice(0,a));var l=ka.get(n);return l&&(n=l,c=B),a?t?u:r:t?b:i}function $(n,t){return function(e){var r=ta.event;ta.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ta.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Aa,u="click"+r,i=ta.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ea&&(Ea="onselectstart"in e?!1:x(e.style,"userSelect")),Ea){var o=n(e).style,a=o[Ea];o[Ea]="none"}return function(n){if(i.on(r,null),Ea&&(o[Ea]=a),n){var t=function(){i.on(u,null)};i.on(u,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var u=r.createSVGPoint();if(0>Na){var i=t(n);if(i.scrollX||i.scrollY){r=ta.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Na=!(o.f||o.e),r.remove()}}return Na?(u.x=e.pageX,u.y=e.pageY):(u.x=e.clientX,u.y=e.clientY),u=u.matrixTransform(n.getScreenCTM().inverse()),[u.x,u.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ta.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nt(n){return n>1?0:-1>n?qa:Math.acos(n)}function tt(n){return n>1?Ra:-1>n?-Ra:Math.asin(n)}function et(n){return((n=Math.exp(n))-1/n)/2}function rt(n){return((n=Math.exp(n))+1/n)/2}function ut(n){return((n=Math.exp(2*n))-1)/(n+1)}function it(n){return(n=Math.sin(n/2))*n}function ot(){}function at(n,t,e){return this instanceof at?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof at?new at(n.h,n.s,n.l):bt(""+n,_t,at):new at(n,t,e)}function ct(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new mt(u(n+120),u(n),u(n-120))}function lt(n,t,e){return this instanceof lt?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof lt?new lt(n.h,n.c,n.l):n instanceof ft?gt(n.l,n.a,n.b):gt((n=wt((n=ta.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new lt(n,t,e)}function st(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new ft(e,Math.cos(n*=Da)*t,Math.sin(n)*t)}function ft(n,t,e){return this instanceof ft?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof ft?new ft(n.l,n.a,n.b):n instanceof lt?st(n.h,n.c,n.l):wt((n=mt(n)).r,n.g,n.b):new ft(n,t,e)}function ht(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=pt(u)*Xa,r=pt(r)*$a,i=pt(i)*Ba,new mt(dt(3.2404542*u-1.5371385*r-.4985314*i),dt(-.969266*u+1.8760108*r+.041556*i),dt(.0556434*u-.2040259*r+1.0572252*i))}function gt(n,t,e){return n>0?new lt(Math.atan2(e,t)*Pa,Math.sqrt(t*t+e*e),n):new lt(0/0,0/0,n)}function pt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function vt(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function dt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mt(n,t,e){return this instanceof mt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mt?new mt(n.r,n.g,n.b):bt(""+n,mt,ct):new mt(n,t,e)}function yt(n){return new mt(n>>16,n>>8&255,255&n)}function Mt(n){return yt(n)+""}function xt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function bt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(kt(u[0]),kt(u[1]),kt(u[2]))}return(i=Ga.get(n.toLowerCase()))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function _t(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new at(r,u,c)}function wt(n,t,e){n=St(n),t=St(t),e=St(e);var r=vt((.4124564*n+.3575761*t+.1804375*e)/Xa),u=vt((.2126729*n+.7151522*t+.072175*e)/$a),i=vt((.0193339*n+.119192*t+.9503041*e)/Ba);return ft(116*u-16,500*(r-u),200*(u-i))}function St(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function kt(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function Et(n){return"function"==typeof n?n:function(){return n}}function At(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Nt(t,e,n,r)}}function Nt(n,t,e,r){function u(){var n,t=c.status;if(!t&&zt(c)||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return void o.error.call(i,r)}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=ta.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=ta.event;ta.event=n;try{o.progress.call(i,c)}finally{ta.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(ra(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},ta.rebind(i,o,"on"),null==r?i:i.get(Ct(r))}function Ct(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function zt(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qt(){var n=Lt(),t=Tt()-n;t>24?(isFinite(t)&&(clearTimeout(tc),tc=setTimeout(qt,t)),nc=0):(nc=1,rc(qt))}function Lt(){var n=Date.now();for(ec=Ka;ec;)n>=ec.t&&(ec.f=ec.c(n-ec.t)),ec=ec.n;return n}function Tt(){for(var n,t=Ka,e=1/0;t;)t.f?t=n?n.n=t.n:Ka=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return Qa=n,e}function Rt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Dt(n,t){var e=Math.pow(10,3*ga(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Pt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],o=0,a=r[0],c=0;u>0&&a>0&&(c+a+1>t&&(a=Math.max(1,t-c)),i.push(n.substring(u-=a,u+a)),!((c+=a+1)>t));)a=r[o=(o+1)%r.length];return i.reverse().join(e)}:y;return function(n){var e=ic.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",c=e[4]||"",l=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===o)&&(l=r="0",o="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=oc.get(g)||Ut;var M=l&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>p){var c=ta.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=y?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!l&&f&&(x=i(x,1/0));var S=v.length+x.length+b.length+(M?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return M&&(x=i(k+x,k.length?s-b.length:1/0)),u+=v,n=x+b,("<"===o?u+n+k:">"===o?k+u+n:"^"===o?k.substring(0,S>>=1)+u+n+k.substring(S):u+(M?n:k+n))+e}}}function Ut(n){return n+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ft(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new cc(e-1)),1),e}function i(n,e){return t(n=new cc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{cc=jt;var r=new jt;return r._=n,o(r,t,e)}finally{cc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Ht(n);return c.floor=c,c.round=Ht(r),c.ceil=Ht(u),c.offset=Ht(i),c.range=a,n}function Ht(n){return function(t,e){try{cc=jt;var r=new jt;return r._=t,n(r,e)._}finally{cc=Date}}}function Ot(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.slice(c,a)),null!=(u=sc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=N[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.slice(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&cc!==jt,o=new(i?jt:cc);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,l=e.length;c>a;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=C[o in sc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.slice(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,N.c.toString(),t,r)}function c(n,t,r){return e(n,N.x.toString(),t,r)}function l(n,t,r){return e(n,N.X.toString(),t,r)}function s(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{cc=jt;var t=new cc;return t._=n,r(t)}finally{cc=Date}}var r=t(n);return e.parse=function(n){try{cc=jt;var t=r.parse(n);return t&&t._}finally{cc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ae;var M=ta.map(),x=Yt(v),b=Zt(v),_=Yt(d),w=Zt(d),S=Yt(m),k=Zt(m),E=Yt(y),A=Zt(y);p.forEach(function(n,t){M.set(n.toLowerCase(),t)});var N={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return It(n.getDate(),t,2)},e:function(n,t){return It(n.getDate(),t,2)},H:function(n,t){return It(n.getHours(),t,2)},I:function(n,t){return It(n.getHours()%12||12,t,2)},j:function(n,t){return It(1+ac.dayOfYear(n),t,3)},L:function(n,t){return It(n.getMilliseconds(),t,3)},m:function(n,t){return It(n.getMonth()+1,t,2)},M:function(n,t){return It(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return It(n.getSeconds(),t,2)},U:function(n,t){return It(ac.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return It(ac.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return It(n.getFullYear()%100,t,2)},Y:function(n,t){return It(n.getFullYear()%1e4,t,4)},Z:ie,"%":function(){return"%"}},C={a:r,A:u,b:i,B:o,c:a,d:Qt,e:Qt,H:te,I:te,j:ne,L:ue,m:Kt,M:ee,p:s,S:re,U:Xt,w:Vt,W:$t,x:c,X:l,y:Wt,Y:Bt,Z:Jt,"%":oe};return t}function It(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function Yt(n){return new RegExp("^(?:"+n.map(ta.requote).join("|")+")","i")}function Zt(n){for(var t=new l,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Vt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Xt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e));return r?(n.U=+r[0],e+r[0].length):-1}function $t(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Bt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Wt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.y=Gt(+r[0]),e+r[0].length):-1}function Jt(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Gt(n){return n+(n>68?1900:2e3)}function Kt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Qt(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function ne(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function te(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ee(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function re(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ue(n,t,e){fc.lastIndex=0;var r=fc.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ie(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=ga(t)/60|0,u=ga(t)%60;return e+It(r,"0",2)+It(u,"0",2)}function oe(n,t,e){hc.lastIndex=0;var r=hc.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ae(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function ce(){}function le(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function se(n,t){n&&dc.hasOwnProperty(n.type)&&dc[n.type](n,t)}function fe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function he(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)fe(n[e],t,1);t.polygonEnd()}function ge(){function n(n,t){n*=Da,t=t*Da/2+qa/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),l=Math.sin(t),s=i*l,f=u*c+s*Math.cos(a),h=s*o*Math.sin(a);yc.add(Math.atan2(h,f)),r=n,u=c,i=l}var t,e,r,u,i;Mc.point=function(o,a){Mc.point=n,r=(t=o)*Da,u=Math.cos(a=(e=a)*Da/2+qa/4),i=Math.sin(a)},Mc.lineEnd=function(){n(t,e)}}function pe(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ve(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function de(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function me(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ye(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function Me(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function xe(n){return[Math.atan2(n[1],n[0]),tt(n[2])]}function be(n,t){return ga(n[0]-t[0])<Ca&&ga(n[1]-t[1])<Ca}function _e(n,t){n*=Da;var e=Math.cos(t*=Da);we(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function we(n,t,e){++xc,_c+=(n-_c)/xc,wc+=(t-wc)/xc,Sc+=(e-Sc)/xc}function Se(){function n(n,u){n*=Da;var i=Math.cos(u*=Da),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),l=Math.atan2(Math.sqrt((l=e*c-r*a)*l+(l=r*o-t*c)*l+(l=t*a-e*o)*l),t*o+e*a+r*c);bc+=l,kc+=l*(t+(t=o)),Ec+=l*(e+(e=a)),Ac+=l*(r+(r=c)),we(t,e,r)}var t,e,r;qc.point=function(u,i){u*=Da;var o=Math.cos(i*=Da);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),qc.point=n,we(t,e,r)}}function ke(){qc.point=_e}function Ee(){function n(n,t){n*=Da;var e=Math.cos(t*=Da),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),l=u*c-i*a,s=i*o-r*c,f=r*a-u*o,h=Math.sqrt(l*l+s*s+f*f),g=r*o+u*a+i*c,p=h&&-nt(g)/h,v=Math.atan2(h,g);Nc+=p*l,Cc+=p*s,zc+=p*f,bc+=v,kc+=v*(r+(r=o)),Ec+=v*(u+(u=a)),Ac+=v*(i+(i=c)),we(r,u,i)}var t,e,r,u,i;qc.point=function(o,a){t=o,e=a,qc.point=n,o*=Da;var c=Math.cos(a*=Da);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),we(r,u,i)},qc.lineEnd=function(){n(t,e),qc.lineEnd=ke,qc.point=_e}}function Ae(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function Ne(){return!0}function Ce(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(be(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return void u.lineEnd()}var c=new qe(e,n,null,!0),l=new qe(e,null,c,!1);c.o=l,i.push(c),o.push(l),c=new qe(r,n,null,!1),l=new qe(r,null,c,!0),c.o=l,i.push(c),o.push(l)}}),o.sort(t),ze(i),ze(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].e=c=!c;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,l=s.length;l>a;++a)u.point((f=s[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var a=s.length-1;a>=0;--a)u.point((f=s[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function ze(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function qe(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Le(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function l(){y.point=o,d.lineEnd()}function s(n,t){v.push([n,t]);var e=u(n,t);x.point(e[0],e[1])}function f(){x.lineStart(),v=[]}function h(){s(v[0][0],v[0][1]),x.lineEnd();var n,t=x.clean(),e=M.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r)if(1&t){n=e[0];var u,r=n.length-1,o=-1;if(r>0){for(b||(i.polygonStart(),b=!0),i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);i.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Te))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=ta.merge(g);var n=Fe(m,p);g.length?(b||(i.polygonStart(),b=!0),Ce(g,De,n,e,i)):n&&(b||(i.polygonStart(),b=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),b&&(i.polygonEnd(),b=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},M=Re(),x=t(M),b=!1;return y}}function Te(n){return n.length>1}function Re(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function De(n,t){return((n=n.x)[0]<0?n[1]-Ra-Ca:Ra-n[1])-((t=t.x)[0]<0?t[1]-Ra-Ca:Ra-t[1])}function Pe(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?qa:-qa,c=ga(i-e);ga(c-qa)<Ca?(n.point(e,r=(r+o)/2>0?Ra:-Ra),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=qa&&(ga(e-u)<Ca&&(e-=u*Ca),ga(i-a)<Ca&&(i-=a*Ca),r=Ue(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function Ue(n,t,e,r){var u,i,o=Math.sin(n-e);return ga(o)>Ca?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function je(n,t,e,r){var u;if(null==n)u=e*Ra,r.point(-qa,u),r.point(0,u),r.point(qa,u),r.point(qa,0),r.point(qa,-u),r.point(0,-u),r.point(-qa,-u),r.point(-qa,0),r.point(-qa,u);else if(ga(n[0]-t[0])>Ca){var i=n[0]<t[0]?qa:-qa;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function Fe(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;yc.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+qa/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=l[d];var m=n[0],y=n[1]/2+qa/4,M=Math.sin(y),x=Math.cos(y),b=m-h,_=b>=0?1:-1,w=_*b,S=w>qa,k=p*M;if(yc.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),i+=S?b+_*La:b,S^h>=e^m>=e){var E=de(pe(f),pe(n));Me(E);var A=de(u,E);Me(A);var N=(S^b>=0?-1:1)*tt(A[2]);(r>N||r===N&&(E[0]||E[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=m,p=M,v=x,f=n}}return(-Ca>i||Ca>i&&0>yc)^1&o}function He(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?qa:-qa),h):0;if(!e&&(l=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(be(e,g)||be(p,g))&&(p[0]+=Ca,p[1]+=Ca,v=t(p[0],p[1]))),v!==c)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&be(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=pe(n),u=pe(t),o=[1,0,0],a=de(r,u),c=ve(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=de(o,a),p=ye(o,f),v=ye(a,h);me(p,v);var d=g,m=ve(p,d),y=ve(d,d),M=m*m-y*(ve(p,p)-1);if(!(0>M)){var x=Math.sqrt(M),b=ye(d,(-m-x)/y);if(me(b,p),b=xe(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(_=w,w=S,S=_);var A=S-w,N=ga(A-qa)<Ca,C=N||Ca>A;if(!N&&k>E&&(_=k,k=E,E=_),C?N?k+E>0^b[1]<(ga(b[0]-w)<Ca?k:E):k<=b[1]&&b[1]<=E:A>qa^(w<=b[0]&&b[0]<=S)){var z=ye(d,(-m+x)/y);return me(z,p),[b,xe(z)]}}}function u(t,e){var r=o?n:qa-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=ga(i)>Ca,c=gr(n,6*Da);return Le(t,e,c,o?[0,-n]:[-qa,n-qa])}function Oe(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,l=o.y,s=a.x,f=a.y,h=0,g=1,p=s-c,v=f-l;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-l,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-l,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:l+h*v}),1>g&&(u.b={x:c+g*p,y:l+g*v}),u}}}}}}function Ie(n,t,e,r){function u(r,u){return ga(r[0]-n)<Ca?u>0?0:3:ga(r[0]-e)<Ca?u>0?2:1:ga(r[1]-t)<Ca?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&Q(l,i,n)>0&&++t:i[1]<=r&&Q(l,i,n)<0&&--t,l=i;return 0!==t}function l(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&a.point(n,t)}function h(){C.point=p,d&&d.push(m=[]),S=!0,w=!1,b=_=0/0}function g(){v&&(p(y,M),x&&w&&A.rejoin(),v.push(A.buffer())),C.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Tc,Math.min(Tc,n)),t=Math.max(-Tc,Math.min(Tc,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};N(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,m,y,M,x,b,_,w,S,k,E=a,A=Re(),N=Oe(n,t,e,r),C={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=ta.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),u&&Ce(v,i,t,l,a),a.polygonEnd()),v=d=m=null}};return C}}function Ye(n){var t=0,e=qa/3,r=ir(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*qa/180,e=n[1]*qa/180):[t/qa*180,e/qa*180]},u}function Ze(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,tt((i-(n*n+e*e)*u*u)/(2*u))]},e}function Ve(){function n(n,t){Dc+=u*n-r*t,r=n,u=t}var t,e,r,u;Hc.point=function(i,o){Hc.point=n,t=r=i,e=u=o},Hc.lineEnd=function(){n(t,e)}}function Xe(n,t){Pc>n&&(Pc=n),n>jc&&(jc=n),Uc>t&&(Uc=t),t>Fc&&(Fc=t)}function $e(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Be(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Be(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Be(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function We(n,t){_c+=n,wc+=t,++Sc}function Je(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);kc+=o*(t+n)/2,Ec+=o*(e+r)/2,Ac+=o,We(t=n,e=r)}var t,e;Ic.point=function(r,u){Ic.point=n,We(t=r,e=u)}}function Ge(){Ic.point=We}function Ke(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);kc+=o*(r+n)/2,Ec+=o*(u+t)/2,Ac+=o,o=u*n-r*t,Nc+=o*(r+n),Cc+=o*(u+t),zc+=3*o,We(r=n,u=t)}var t,e,r,u;Ic.point=function(i,o){Ic.point=n,We(t=r=i,e=u=o)},Ic.lineEnd=function(){n(t,e)}}function Qe(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,La)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function nr(n){function t(n){return(a?r:e)(n)}function e(t){return rr(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=0/0,S.point=i,t.lineStart()}function i(e,r){var i=pe([e,r]),o=n(e,r);u(M,x,y,b,_,w,M=o[0],x=o[1],y=e,b=i[0],_=i[1],w=i[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=l,S.lineEnd=s}function l(n,t){i(f=n,h=t),g=M,p=x,v=b,d=_,m=w,S.point=i}function s(){u(M,x,y,b,_,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
206 },polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,l,s,f,h,g,p,v,d,m){var y=s-t,M=f-e,x=y*y+M*M;if(x>4*i&&d--){var b=a+g,_=c+p,w=l+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),E=ga(ga(w)-1)<Ca||ga(r-h)<Ca?(r+h)/2:Math.atan2(_,b),A=n(E,k),N=A[0],C=A[1],z=N-t,q=C-e,L=M*z-y*q;(L*L/x>i||ga((y*z+M*q)/x-.5)>.3||o>a*g+c*p+l*v)&&(u(t,e,r,a,c,l,N,C,E,b/=S,_/=S,w,d,m),m.point(N,C),u(N,C,E,b,_,w,s,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*Da),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function tr(n){var t=nr(function(t,e){return n([t*Pa,e*Pa])});return function(n){return or(t(n))}}function er(n){this.stream=n}function rr(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ur(n){return ir(function(){return n})()}function ir(n){function t(n){return n=a(n[0]*Da,n[1]*Da),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*Pa,n[1]*Pa]}function r(){a=Ae(o=lr(m,M,x),i);var n=i(v,d);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=nr(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,M=0,x=0,b=Lc,_=y,w=null,S=null;return t.stream=function(n){return s&&(s.valid=!1),s=or(b(o,f(_(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Lc):He((w=+n)*Da),u()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Ie(n[0][0],n[0][1],n[1][0],n[1][1]):y,u()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*Da,d=n[1]%360*Da,r()):[v*Pa,d*Pa]},t.rotate=function(n){return arguments.length?(m=n[0]%360*Da,M=n[1]%360*Da,x=n.length>2?n[2]%360*Da:0,r()):[m*Pa,M*Pa,x*Pa]},ta.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function or(n){return rr(n,function(t,e){n.point(t*Da,e*Da)})}function ar(n,t){return[n,t]}function cr(n,t){return[n>qa?n-La:-qa>n?n+La:n,t]}function lr(n,t,e){return n?t||e?Ae(fr(n),hr(t,e)):fr(n):t||e?hr(t,e):cr}function sr(n){return function(t,e){return t+=n,[t>qa?t-La:-qa>t?t+La:t,e]}}function fr(n){var t=sr(n);return t.invert=sr(-n),t}function hr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),tt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),tt(s*r-a*u)]},e}function gr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=pr(e,u),i=pr(e,i),(o>0?i>u:u>i)&&(u+=o*La)):(u=n+o*La,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=xe([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function pr(n,t){var e=pe(t);e[0]-=n,Me(e);var r=nt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Ca)%(2*Math.PI)}function vr(n,t,e){var r=ta.range(n,t-Ca,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function dr(n,t,e){var r=ta.range(n,t-Ca,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function mr(n){return n.source}function yr(n){return n.target}function Mr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(it(r-t)+u*o*it(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Pa,Math.atan2(o,Math.sqrt(r*r+u*u))*Pa]}:function(){return[n*Pa,t*Pa]};return p.distance=h,p}function xr(){function n(n,u){var i=Math.sin(u*=Da),o=Math.cos(u),a=ga((n*=Da)-t),c=Math.cos(a);Yc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Zc.point=function(u,i){t=u*Da,e=Math.sin(i*=Da),r=Math.cos(i),Zc.point=n},Zc.lineEnd=function(){Zc.point=Zc.lineEnd=b}}function br(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function _r(n,t){function e(n,t){o>0?-Ra+Ca>t&&(t=-Ra+Ca):t>Ra-Ca&&(t=Ra-Ca);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(qa/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=K(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ra]},e):Sr}function wr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return ga(u)<Ca?ar:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-K(u)*Math.sqrt(n*n+e*e)]},e)}function Sr(n,t){return[n,Math.log(Math.tan(qa/4+t/2))]}function kr(n){var t,e=ur(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=qa*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function Er(n,t){return[Math.log(Math.tan(qa/4+t/2)),-n]}function Ar(n){return n[0]}function Nr(n){return n[1]}function Cr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function zr(n,t){return n[0]-t[0]||n[1]-t[1]}function qr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Lr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function Tr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Rr(){tu(this),this.edge=this.site=this.circle=null}function Dr(n){var t=el.pop()||new Rr;return t.site=n,t}function Pr(n){Xr(n),Qc.remove(n),el.push(n),tu(n)}function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Pr(n);for(var c=i;c.circle&&ga(e-c.circle.x)<Ca&&ga(r-c.circle.cy)<Ca;)i=c.P,a.unshift(c),Pr(c),c=i;a.unshift(c),Xr(c);for(var l=o;l.circle&&ga(e-l.circle.x)<Ca&&ga(r-l.circle.cy)<Ca;)o=l.N,a.push(l),Pr(l),l=o;a.push(l),Xr(l);var s,f=a.length;for(s=1;f>s;++s)l=a[s],c=a[s-1],Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=Jr(c.site,l.site,null,u),Vr(c),Vr(l)}function jr(n){for(var t,e,r,u,i=n.x,o=n.y,a=Qc._;a;)if(r=Fr(a,o)-i,r>Ca)a=a.L;else{if(u=i-Hr(a,o),!(u>Ca)){r>-Ca?(t=a.P,e=a):u>-Ca?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Dr(n);if(Qc.insert(t,c),t||e){if(t===e)return Xr(t),e=Dr(t.site),Qc.insert(c,e),c.edge=e.edge=Jr(t.site,c.site),Vr(t),void Vr(e);if(!e)return void(c.edge=Jr(t.site,c.site));Xr(t),Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,M=v*v+d*d,x={x:(d*y-g*M)/m+s,y:(h*M-v*y)/m+f};Kr(e.edge,l,p,x),c.edge=Jr(l,n,null,x),e.edge=Jr(n,p,null,x),Vr(t),Vr(e)}}function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;if(!l)return a;var s=a-r,f=1/i-1/l,h=s/l;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}function Hr(n,t){var e=n.N;if(e)return Fr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Or(n){this.site=n,this.edges=[]}function Ir(n){for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Kc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)s=a[o].end(),r=s.x,u=s.y,l=a[++o%c].start(),t=l.x,e=l.y,(ga(r-t)>Ca||ga(u-e)>Ca)&&(a.splice(o,0,new Qr(Gr(i.site,s,ga(r-f)<Ca&&p-u>Ca?{x:f,y:ga(t-f)<Ca?e:p}:ga(u-p)<Ca&&h-r>Ca?{x:ga(e-p)<Ca?t:h,y:p}:ga(r-h)<Ca&&u-g>Ca?{x:h,y:ga(t-h)<Ca?e:g}:ga(u-g)<Ca&&r-f>Ca?{x:ga(e-g)<Ca?t:f,y:g}:null),i.site,null)),++c)}function Yr(n,t){return t.angle-n.angle}function Zr(){tu(this),this.x=this.y=this.arc=this.site=this.cy=null}function Vr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,l=r.y-a,s=i.x-o,f=i.y-a,h=2*(c*f-l*s);if(!(h>=-za)){var g=c*c+l*l,p=s*s+f*f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+a,m=rl.pop()||new Zr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,M=tl._;M;)if(m.y<M.y||m.y===M.y&&m.x<=M.x){if(!M.L){y=M.P;break}M=M.L}else{if(!M.R){y=M;break}M=M.R}tl.insert(y,m),y||(nl=m)}}}}function Xr(n){var t=n.circle;t&&(t.P||(nl=t.N),tl.remove(t),rl.push(t),tu(t),n.circle=null)}function $r(n){for(var t,e=Gc,r=Oe(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Br(t,n)||!r(t)||ga(t.a.x-t.b.x)<Ca&&ga(t.a.y-t.b.y)<Ca)&&(t.a=t.b=null,e.splice(u,1))}function Br(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],l=t[1][1],s=n.l,f=n.r,h=s.x,g=s.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=l)return}else i={x:d,y:c};e={x:d,y:l}}else{if(i){if(i.y<c)return}else i={x:d,y:l};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=l)return}else i={x:(c-u)/r,y:c};e={x:(l-u)/r,y:l}}else{if(i){if(i.y<c)return}else i={x:(l-u)/r,y:l};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Wr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Jr(n,t,e,r){var u=new Wr(n,t);return Gc.push(u),e&&Kr(u,n,t,e),r&&Kr(u,t,n,r),Kc[n.i].edges.push(new Qr(u,n,t)),Kc[t.i].edges.push(new Qr(u,t,n)),u}function Gr(n,t,e){var r=new Wr(n,null);return r.a=t,r.b=e,Gc.push(r),r}function Kr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Qr(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function nu(){this._=null}function tu(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function eu(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function ru(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function uu(n){for(;n.L;)n=n.L;return n}function iu(n,t){var e,r,u,i=n.sort(ou).pop();for(Gc=[],Kc=new Array(n.length),Qc=new nu,tl=new nu;;)if(u=nl,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Kc[i.i]=new Or(i),jr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;Ur(u.arc)}t&&($r(t),Ir(t));var o={cells:Kc,edges:Gc};return Qc=tl=Gc=Kc=null,o}function ou(n,t){return t.y-n.y||t.x-n.x}function au(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function cu(n){return n.x}function lu(n){return n.y}function su(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function fu(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&fu(n,c[0],e,r,o,a),c[1]&&fu(n,c[1],o,r,u,a),c[2]&&fu(n,c[2],e,a,o,i),c[3]&&fu(n,c[3],o,a,u,i)}}function hu(n,t,e,r,u,i,o){var a,c=1/0;return function l(n,s,f,h,g){if(!(s>i||f>o||r>h||u>g)){if(p=n.point){var p,v=t-n.x,d=e-n.y,m=v*v+d*d;if(c>m){var y=Math.sqrt(c=m);r=t-y,u=e-y,i=t+y,o=e+y,a=p}}for(var M=n.nodes,x=.5*(s+h),b=.5*(f+g),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:l(n,s,f,x,b);break;case 1:l(n,x,f,h,b);break;case 2:l(n,s,b,x,g);break;case 3:l(n,x,b,h,g)}}}(n,r,u,i,o),a}function gu(n,t){n=ta.rgb(n),t=ta.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+xt(Math.round(e+i*n))+xt(Math.round(r+o*n))+xt(Math.round(u+a*n))}}function pu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=mu(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function vu(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function du(n,t){var e,r,u,i=il.lastIndex=ol.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=il.exec(n))&&(r=ol.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:vu(e,r)})),i=ol.lastIndex;return i<t.length&&(u=t.slice(i),a[o]?a[o]+=u:a[++o]=u),a.length<2?c[0]?(t=c[0].x,function(n){return t(n)+""}):function(){return t}:(t=c.length,function(n){for(var e,r=0;t>r;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function mu(n,t){for(var e,r=ta.interpolators.length;--r>=0&&!(e=ta.interpolators[r](n,t)););return e}function yu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(mu(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function Mu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function xu(n){return function(t){return 1-n(1-t)}}function bu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function _u(n){return n*n}function wu(n){return n*n*n}function Su(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function ku(n){return function(t){return Math.pow(t,n)}}function Eu(n){return 1-Math.cos(n*Ra)}function Au(n){return Math.pow(2,10*(n-1))}function Nu(n){return 1-Math.sqrt(1-n*n)}function Cu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/La*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*La/t)}}function zu(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function qu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Lu(n,t){n=ta.hcl(n),t=ta.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return st(e+i*n,r+o*n,u+a*n)+""}}function Tu(n,t){n=ta.hsl(n),t=ta.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return ct(e+i*n,r+o*n,u+a*n)+""}}function Ru(n,t){n=ta.lab(n),t=ta.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ht(e+i*n,r+o*n,u+a*n)+""}}function Du(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Pu(n){var t=[n.a,n.b],e=[n.c,n.d],r=ju(t),u=Uu(t,e),i=ju(Fu(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Pa,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*Pa:0}function Uu(n,t){return n[0]*t[0]+n[1]*t[1]}function ju(n){var t=Math.sqrt(Uu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function Fu(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Hu(n,t){var e,r=[],u=[],i=ta.transform(n),o=ta.transform(t),a=i.translate,c=o.translate,l=i.rotate,s=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:vu(a[0],c[0])},{i:3,x:vu(a[1],c[1])})):r.push(c[0]||c[1]?"translate("+c+")":""),l!=s?(l-s>180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:vu(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:vu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:vu(g[0],p[0])},{i:e-2,x:vu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Ou(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function Iu(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function Yu(n){for(var t=n.source,e=n.target,r=Vu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function Zu(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Vu(n,t){if(n===t)return n;for(var e=Zu(n),r=Zu(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Xu(n){n.fixed|=2}function $u(n){n.fixed&=-7}function Bu(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Wu(n){n.fixed&=-5}function Ju(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Ju(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var l=t*e[n.point.index];n.charge+=n.pointCharge=l,r+=l*n.point.x,u+=l*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Gu(n,t){return ta.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=ri,n}function Ku(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(u=n.children)&&(r=u.length))for(var r,u;--r>=0;)e.push(u[r])}function Qu(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++o<u;)e.push(i[o]);for(;null!=(n=r.pop());)t(n)}function ni(n){return n.children}function ti(n){return n.value}function ei(n,t){return t.value-n.value}function ri(n){return ta.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function ui(n){return n.x}function ii(n){return n.y}function oi(n,t,e){n.y0=t,n.y=e}function ai(n){return ta.range(n.length)}function ci(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function li(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function si(n){return n.reduce(fi,0)}function fi(n,t){return n+t[1]}function hi(n,t){return gi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function gi(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function pi(n){return[ta.min(n),ta.max(n)]}function vi(n,t){return n.value-t.value}function di(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function mi(n,t){n._pack_next=t,t._pack_prev=n}function yi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function Mi(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],wi(r,u,i),t(i),di(r,i),r._pack_prev=i,di(i,u),u=r._pack_next,o=3;l>o;o++){wi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(yi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!yi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?mi(r,u=a):mi(r=c,u),o--):(di(r,i),u=i,t(i))}var m=(s+f)/2,y=(h+g)/2,M=0;for(o=0;l>o;o++)i=e[o],i.x-=m,i.y-=y,M=Math.max(M,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=M,e.forEach(bi)}}function xi(n){n._pack_next=n._pack_prev=n}function bi(n){delete n._pack_next,delete n._pack_prev}function _i(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)_i(u[i],t,e,r)}function wi(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),l=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+l*i,e.y=n.y+c*i-l*u}else e.x=n.x+r,e.y=n.y}function Si(n,t){return n.parent==t.parent?1:2}function ki(n){var t=n.children;return t.length?t[0]:n.t}function Ei(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function Ai(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function Ni(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Ci(n,t,e){return n.a.parent===t.parent?n.a:e}function zi(n){return 1+ta.max(n,function(n){return n.y})}function qi(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Li(n){var t=n.children;return t&&t.length?Li(t[0]):n}function Ti(n){var t,e=n.children;return e&&(t=e.length)?Ti(e[t-1]):n}function Ri(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Di(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Pi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Ui(n){return n.rangeExtent?n.rangeExtent():Pi(n.range())}function ji(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function Fi(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Hi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:ml}function Oi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=ta.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Ii(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?Oi:ji,c=r?Iu:Ou;return o=u(n,t,c,e),a=u(t,n,c,mu),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Du)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Xi(n,t)},i.tickFormat=function(t,e){return $i(n,t,e)},i.nice=function(t){return Zi(n,t),u()},i.copy=function(){return Ii(n,t,e,r)},u()}function Yi(n,t){return ta.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Zi(n,t){return Fi(n,Hi(Vi(n,t)[2]))}function Vi(n,t){null==t&&(t=10);var e=Pi(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Xi(n,t){return ta.range.apply(ta,Vi(n,t))}function $i(n,t,e){var r=Vi(n,t);if(e){var u=ic.exec(e);if(u.shift(),"s"===u[8]){var i=ta.formatPrefix(Math.max(ga(r[0]),ga(r[1])));return u[7]||(u[7]="."+Bi(i.scale(r[2]))),u[8]="f",e=ta.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Wi(u[8],r)),e=u.join("")}else e=",."+Bi(r[2])+"f";return ta.format(e)}function Bi(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Wi(n,t){var e=Bi(t[2]);return n in yl?Math.abs(e-Bi(Math.max(ga(t[0]),ga(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Ji(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=Fi(r.map(u),e?Math:xl);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Pi(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++<s;)for(var h=f-1;h>0;h--)o.push(i(l)*h);for(l=0;o[l]<a;l++);for(s=o.length;o[s-1]>c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return Ml;arguments.length<2?t=Ml:"function"!=typeof t&&(t=ta.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Ji(n.copy(),t,e,r)},Yi(o,n)}function Gi(n,t,e){function r(t){return n(u(t))}var u=Ki(t),i=Ki(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Xi(e,n)},r.tickFormat=function(n,t){return $i(e,n,t)},r.nice=function(n){return r.domain(Zi(e,n))},r.exponent=function(o){return arguments.length?(u=Ki(t=o),i=Ki(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Gi(n.copy(),t,e)},Yi(r,n)}function Ki(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Qi(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return ta.range(n.length).map(function(n){return t+e*n})}var u,i,o;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new l;for(var i,o=-1,a=r.length;++o<a;)u.has(i=r[o])||u.set(i,n.push(i));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(i=n,o=0,t={t:"range",a:arguments},e):i},e.rangePoints=function(u,a){arguments.length<2&&(a=0);var c=u[0],l=u[1],s=n.length<2?(c=(c+l)/2,0):(l-c)/(n.length-1+a);return i=r(c+s*a/2,s),o=0,t={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(u,a){arguments.length<2&&(a=0);var c=u[0],l=u[1],s=n.length<2?(c=l=Math.round((c+l)/2),0):(l-c)/(n.length-1+a)|0;return i=r(c+Math.round(s*a/2+(l-c-(n.length-1+a)*s)/2),s),o=0,t={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(u,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=(f-s)/(n.length-a+2*c);return i=r(s+h*c,h),l&&i.reverse(),o=h*(1-a),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=Math.floor((f-s)/(n.length-a+2*c));return i=r(s+Math.round((f-s-(n.length-a)*h)/2),h),l&&i.reverse(),o=Math.round(h*(1-a)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return o},e.rangeExtent=function(){return Pi(t.a[0])},e.copy=function(){return Qi(n,t)},e.domain(n)}function no(n,t){function i(){var e=0,r=t.length;for(a=[];++e<r;)a[e-1]=ta.quantile(n,e/r);return o}function o(n){return isNaN(n=+n)?void 0:t[ta.bisect(a,n)]}var a;return o.domain=function(t){return arguments.length?(n=t.map(r).filter(u).sort(e),i()):n},o.range=function(n){return arguments.length?(t=n,i()):t},o.quantiles=function(){return a},o.invertExtent=function(e){return e=t.indexOf(e),0>e?[0/0,0/0]:[e>0?a[e-1]:n[0],e<a.length?a[e]:n[n.length-1]]},o.copy=function(){return no(n,t)},i()}function to(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return to(n,t,e)},u()}function eo(n,t){function e(e){return e>=e?t[ta.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return eo(n,t)},e}function ro(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Xi(n,t)},t.tickFormat=function(t,e){return $i(n,t,e)},t.copy=function(){return ro(n)},t}function uo(){return 0}function io(n){return n.innerRadius}function oo(n){return n.outerRadius}function ao(n){return n.startAngle}function co(n){return n.endAngle}function lo(n){return n&&n.padAngle}function so(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function fo(n,t,e,r,u){var i=n[0]-t[0],o=n[1]-t[1],a=(u?r:-r)/Math.sqrt(i*i+o*o),c=a*o,l=-a*i,s=n[0]+c,f=n[1]+l,h=t[0]+c,g=t[1]+l,p=(s+h)/2,v=(f+g)/2,d=h-s,m=g-f,y=d*d+m*m,M=e-r,x=s*g-h*f,b=(0>m?-1:1)*Math.sqrt(M*M*y-x*x),_=(x*m-d*b)/y,w=(-x*d-m*b)/y,S=(x*m+d*b)/y,k=(-x*d+m*b)/y,E=_-p,A=w-v,N=S-p,C=k-v;return E*E+A*A>N*N+C*C&&(_=S,w=k),[[_-c,w-l],[_*e/M,w*e/M]]}function ho(n){function t(t){function o(){l.push("M",i(n(s),a))}for(var c,l=[],s=[],f=-1,h=t.length,g=Et(e),p=Et(r);++f<h;)u.call(this,c=t[f],f)?s.push([+g.call(this,c,f),+p.call(this,c,f)]):s.length&&(o(),s=[]);return s.length&&o(),l.length?l.join(""):null}var e=Ar,r=Nr,u=Ne,i=go,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=El.get(n)||go).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function go(n){return n.join("L")}function po(n){return go(n)+"Z"}function vo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function mo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function yo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function Mo(n,t){return n.length<4?go(n):n[1]+_o(n.slice(1,-1),wo(n,t))}function xo(n,t){return n.length<3?go(n):n[0]+_o((n.push(n[0]),n),wo([n[n.length-2]].concat(n,[n[1]]),t))}function bo(n,t){return n.length<3?go(n):n[0]+_o(n,wo(n,t))}function _o(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return go(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l<t.length;l++,c++)i=n[c],a=t[l],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var s=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+s[0]+","+s[1]}return r}function wo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function So(n){if(n.length<3)return go(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",No(Cl,o),",",No(Cl,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),Co(c,o,a);return n.pop(),c.push("L",r),c.join("")}function ko(n){if(n.length<4)return go(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(No(Cl,i)+","+No(Cl,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),Co(e,i,o);return e.join("")}function Eo(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[No(Cl,o),",",No(Cl,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),Co(t,o,a);return t.join("")}function Ao(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,l=-1;++l<=e;)r=n[l],u=l/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return So(n)}function No(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function Co(n,t,e){n.push("C",No(Al,t),",",No(Al,e),",",No(Nl,t),",",No(Nl,e),",",No(Cl,t),",",No(Cl,e))}function zo(n,t){return(t[1]-n[1])/(t[0]-n[0])}function qo(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=zo(u,i);++t<e;)r[t]=(o+(o=zo(u=i,i=n[t+1])))/2;return r[t]=o,r}function Lo(n){for(var t,e,r,u,i=[],o=qo(n),a=-1,c=n.length-1;++a<c;)t=zo(n[a],n[a+1]),ga(t)<Ca?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function To(n){return n.length<3?go(n):n[0]+_o(n,Lo(n))}function Ro(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]-Ra,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Do(n){function t(t){function c(){v.push("M",a(n(m),f),s,l(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,M=t.length,x=Et(e),b=Et(u),_=e===r?function(){return g}:Et(r),w=u===i?function(){return p}:Et(i);++y<M;)o.call(this,h=t[y],y)?(d.push([g=+x.call(this,h,y),p=+b.call(this,h,y)]),m.push([+_.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=Ar,r=Ar,u=0,i=Nr,o=Ne,a=go,c=a.key,l=a,s="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
207 },t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=El.get(n)||go).key,l=a.reverse||a,s=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function Po(n){return n.radius}function Uo(n){return[n.x,n.y]}function jo(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]-Ra;return[e*Math.cos(r),e*Math.sin(r)]}}function Fo(){return 64}function Ho(){return"circle"}function Oo(n){var t=Math.sqrt(n/qa);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Io(n){return function(){var t,e;(t=this[n])&&(e=t[t.active])&&(--t.count?delete t[t.active]:delete this[n],t.active+=.5,e.event&&e.event.interrupt.call(this,this.__data__,e.index))}}function Yo(n,t,e){return ya(n,Pl),n.namespace=t,n.id=e,n}function Zo(n,t,e,r){var u=n.id,i=n.namespace;return Y(n,"function"==typeof e?function(n,o,a){n[i][u].tween.set(t,r(e.call(n,n.__data__,o,a)))}:(e=r(e),function(n){n[i][u].tween.set(t,e)}))}function Vo(n){return null==n&&(n=""),function(){this.textContent=n}}function Xo(n){return null==n?"__transition__":"__transition_"+n+"__"}function $o(n,t,e,r,u){var i=n[e]||(n[e]={active:0,count:0}),o=i[r];if(!o){var a=u.time;o=i[r]={tween:new l,time:a,delay:u.delay,duration:u.duration,ease:u.ease,index:t},u=null,++i.count,ta.timer(function(u){function c(e){if(i.active>r)return s();var u=i[i.active];u&&(--i.count,delete i[i.active],u.event&&u.event.interrupt.call(n,n.__data__,u.index)),i.active=r,o.event&&o.event.start.call(n,n.__data__,t),o.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&v.push(r)}),h=o.ease,f=o.duration,ta.timer(function(){return p.c=l(e||1)?Ne:l,1},0,a)}function l(e){if(i.active!==r)return 1;for(var u=e/f,a=h(u),c=v.length;c>0;)v[--c].call(n,a);return u>=1?(o.event&&o.event.end.call(n,n.__data__,t),s()):void 0}function s(){return--i.count?delete i[r]:delete n[e],1}var f,h,g=o.delay,p=ec,v=[];return p.t=g+a,u>=g?c(u-g):void(p.c=c)},0,a)}}function Bo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Wo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Jo(n){return n.toISOString()}function Go(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=ta.bisect(Vl,u);return i==Vl.length?[t.year,Vi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Vl[i-1]<Vl[i]/u?i-1:i]:[Bl,Vi(n,e)[2]]}return r.invert=function(t){return Ko(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Ko)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Ko(+e+1),t).length}var i=r.domain(),o=Pi(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(Fi(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Ko(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Ko(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Pi(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Ko(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Go(n.copy(),t,e)},Yi(r,n)}function Ko(n){return new Date(n)}function Qo(n){return JSON.parse(n.responseText)}function na(n){var t=ua.createRange();return t.selectNode(ua.body),t.createContextualFragment(n.responseText)}var ta={version:"3.5.5"},ea=[].slice,ra=function(n){return ea.call(n)},ua=this.document;if(ua)try{ra(ua.documentElement.childNodes)[0].nodeType}catch(ia){ra=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),ua)try{ua.createElement("DIV").style.setProperty("opacity",0,"")}catch(oa){var aa=this.Element.prototype,ca=aa.setAttribute,la=aa.setAttributeNS,sa=this.CSSStyleDeclaration.prototype,fa=sa.setProperty;aa.setAttribute=function(n,t){ca.call(this,n,t+"")},aa.setAttributeNS=function(n,t,e){la.call(this,n,t,e+"")},sa.setProperty=function(n,t,e){fa.call(this,n,t+"",e)}}ta.ascending=e,ta.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},ta.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i;)if(null!=(r=n[u])&&r>=r){e=r;break}for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i;)if(null!=(r=t.call(n,n[u],u))&&r>=r){e=r;break}for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},ta.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i;)if(null!=(r=n[u])&&r>=r){e=r;break}for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i;)if(null!=(r=t.call(n,n[u],u))&&r>=r){e=r;break}for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},ta.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=n[i])&&r>=r){e=u=r;break}for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o;)if(null!=(r=t.call(n,n[i],i))&&r>=r){e=u=r;break}for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},ta.sum=function(n,t){var e,r=0,i=n.length,o=-1;if(1===arguments.length)for(;++o<i;)u(e=+n[o])&&(r+=e);else for(;++o<i;)u(e=+t.call(n,n[o],o))&&(r+=e);return r},ta.mean=function(n,t){var e,i=0,o=n.length,a=-1,c=o;if(1===arguments.length)for(;++a<o;)u(e=r(n[a]))?i+=e:--c;else for(;++a<o;)u(e=r(t.call(n,n[a],a)))?i+=e:--c;return c?i/c:void 0},ta.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},ta.median=function(n,t){var i,o=[],a=n.length,c=-1;if(1===arguments.length)for(;++c<a;)u(i=r(n[c]))&&o.push(i);else for(;++c<a;)u(i=r(t.call(n,n[c],c)))&&o.push(i);return o.length?ta.quantile(o.sort(e),.5):void 0},ta.variance=function(n,t){var e,i,o=n.length,a=0,c=0,l=-1,s=0;if(1===arguments.length)for(;++l<o;)u(e=r(n[l]))&&(i=e-a,a+=i/++s,c+=i*(e-a));else for(;++l<o;)u(e=r(t.call(n,n[l],l)))&&(i=e-a,a+=i/++s,c+=i*(e-a));return s>1?c/(s-1):void 0},ta.deviation=function(){var n=ta.variance.apply(this,arguments);return n?Math.sqrt(n):n};var ha=i(e);ta.bisectLeft=ha.left,ta.bisect=ta.bisectRight=ha.right,ta.bisector=function(n){return i(1===n.length?function(t,r){return e(n(t),r)}:n)},ta.shuffle=function(n,t,e){(i=arguments.length)<3&&(e=n.length,2>i&&(t=0));for(var r,u,i=e-t;i;)u=Math.random()*i--|0,r=n[i+t],n[i+t]=n[u+t],n[u+t]=r;return n},ta.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ta.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},ta.zip=function(){if(!(r=arguments.length))return[];for(var n=-1,t=ta.min(arguments,o),e=new Array(t);++n<t;)for(var r,u=-1,i=e[n]=new Array(r);++u<r;)i[u]=arguments[u][n];return e},ta.transpose=function(n){return ta.zip.apply(ta,n)},ta.keys=function(n){var t=[];for(var e in n)t.push(e);return t},ta.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},ta.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},ta.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var ga=Math.abs;ta.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,u=[],i=a(ga(e)),o=-1;if(n*=i,t*=i,e*=i,0>e)for(;(r=n+e*++o)>t;)u.push(r/i);else for(;(r=n+e*++o)<t;)u.push(r/i);return u},ta.map=function(n,t){var e=new l;if(n instanceof l)n.forEach(function(n,t){e.set(n,t)});else if(Array.isArray(n)){var r,u=-1,i=n.length;if(1===arguments.length)for(;++u<i;)e.set(u,n[u]);else for(;++u<i;)e.set(t.call(n,r=n[u],u),r)}else for(var o in n)e.set(o,n[o]);return e};var pa="__proto__",va="\x00";c(l,{has:h,get:function(n){return this._[s(n)]},set:function(n,t){return this._[s(n)]=t},remove:g,keys:p,values:function(){var n=[];for(var t in this._)n.push(this._[t]);return n},entries:function(){var n=[];for(var t in this._)n.push({key:f(t),value:this._[t]});return n},size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,f(t),this._[t])}}),ta.nest=function(){function n(t,o,a){if(a>=i.length)return r?r.call(u,o):e?o.sort(e):o;for(var c,s,f,h,g=-1,p=o.length,v=i[a++],d=new l;++g<p;)(h=d.get(c=v(s=o[g])))?h.push(s):d.set(c,[s]);return t?(s=t(),f=function(e,r){s.set(e,n(t,r,a))}):(s={},f=function(e,r){s[e]=n(t,r,a)}),d.forEach(f),s}function t(n,e){if(e>=i.length)return n;var r=[],u=o[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(ta.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return o[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},ta.set=function(n){var t=new m;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},c(m,{has:h,add:function(n){return this._[s(n+="")]=!0,n},remove:g,values:p,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,f(t))}}),ta.behavior={},ta.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=M(n,t,t[e]);return n};var da=["webkit","ms","moz","Moz","o","O"];ta.dispatch=function(){for(var n=new _,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=w(n);return n},_.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ta.event=null,ta.requote=function(n){return n.replace(ma,"\\$&")};var ma=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ya={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},Ma=function(n,t){return t.querySelector(n)},xa=function(n,t){return t.querySelectorAll(n)},ba=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(ba=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(Ma=function(n,t){return Sizzle(n,t)[0]||null},xa=Sizzle,ba=Sizzle.matchesSelector),ta.selection=function(){return ta.select(ua.documentElement)};var _a=ta.selection.prototype=[];_a.select=function(n){var t,e,r,u,i=[];n=N(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,l=r.length;++c<l;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return A(i)},_a.selectAll=function(n){var t,e,r=[];n=C(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=ra(n.call(e,e.__data__,a,u))),t.parentNode=e);return A(r)};var wa={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ta.ns={prefix:wa,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.slice(0,t),n=n.slice(t+1)),wa.hasOwnProperty(e)?{space:wa[e],local:n}:n}},_a.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ta.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},_a.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!L(n[u]).test(t))return!1;return!0}for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},_a.style=function(n,e,r){var u=arguments.length;if(3>u){if("string"!=typeof n){2>u&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>u){var i=this.node();return t(i).getComputedStyle(i,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},_a.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},_a.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},_a.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},_a.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},_a.insert=function(n,t){return n=j(n),t=N(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},_a.remove=function(){return this.each(F)},_a.data=function(n,t){function e(n,e){var r,u,i,o=n.length,f=e.length,h=Math.min(o,f),g=new Array(f),p=new Array(f),v=new Array(o);if(t){var d,m=new l,y=new Array(o);for(r=-1;++r<o;)m.has(d=t.call(u=n[r],u.__data__,r))?v[r]=u:m.set(d,u),y[r]=d;for(r=-1;++r<f;)(u=m.get(d=t.call(e,i=e[r],r)))?u!==!0&&(g[r]=u,u.__data__=i):p[r]=H(i),m.set(d,!0);for(r=-1;++r<o;)m.get(y[r])!==!0&&(v[r]=n[r])}else{for(r=-1;++r<h;)u=n[r],i=e[r],u?(u.__data__=i,g[r]=u):p[r]=H(i);for(;f>r;++r)p[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,a.push(p),c.push(g),s.push(v)}var r,u,i=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++i<o;)(u=r[i])&&(n[i]=u.__data__);return n}var a=Z([]),c=A([]),s=A([]);if("function"==typeof n)for(;++i<o;)e(r=this[i],n.call(r,r.parentNode.__data__,i));else for(;++i<o;)e(r=this[i],n);return c.enter=function(){return a},c.exit=function(){return s},c},_a.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},_a.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=O(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return A(u)},_a.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},_a.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},_a.each=function(n){return Y(this,function(t,e,r){n.call(t,t.__data__,e,r)})},_a.call=function(n){var t=ra(arguments);return n.apply(t[0]=this,t),this},_a.empty=function(){return!this.node()},_a.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},_a.size=function(){var n=0;return Y(this,function(){++n}),n};var Sa=[];ta.selection.enter=Z,ta.selection.enter.prototype=Sa,Sa.append=_a.append,Sa.empty=_a.empty,Sa.node=_a.node,Sa.call=_a.call,Sa.size=_a.size,Sa.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var l=-1,s=u.length;++l<s;)(i=u[l])?(t.push(r[l]=e=n.call(u.parentNode,i.__data__,l,a)),e.__data__=i.__data__):t.push(null)}return A(o)},Sa.insert=function(n,t){return arguments.length<2&&(t=V(this)),_a.insert.call(this,n,t)},ta.select=function(t){var e;return"string"==typeof t?(e=[Ma(t,ua)],e.parentNode=ua.documentElement):(e=[t],e.parentNode=n(t)),A([e])},ta.selectAll=function(n){var t;return"string"==typeof n?(t=ra(xa(n,ua)),t.parentNode=ua.documentElement):(t=n,t.parentNode=null),A([t])},_a.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var ka=ta.map({mouseenter:"mouseover",mouseleave:"mouseout"});ua&&ka.forEach(function(n){"on"+n in ua&&ka.remove(n)});var Ea,Aa=0;ta.mouse=function(n){return J(n,k())};var Na=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ta.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return J(n,r)},ta.behavior.drag=function(){function n(){this.on("mousedown.drag",i).on("touchstart.drag",o)}function e(n,t,e,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],p|=n|e,M=r,g({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&ta.event.target===f),g({type:"dragend"}))}var l,s=this,f=ta.event.target,h=s.parentNode,g=r.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=ta.select(e(f)).on(i+d,a).on(o+d,c),y=W(f),M=t(h,v);u?(l=u.apply(s,arguments),l=[l.x-M[0],l.y-M[1]]):l=[0,0],g({type:"dragstart"})}}var r=E(n,"drag","dragstart","dragend"),u=null,i=e(b,ta.mouse,t,"mousemove","mouseup"),o=e(G,ta.touch,y,"touchmove","touchend");return n.origin=function(t){return arguments.length?(u=t,n):u},ta.rebind(n,r,"on")},ta.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?ra(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Ca=1e-6,za=Ca*Ca,qa=Math.PI,La=2*qa,Ta=La-Ca,Ra=qa/2,Da=qa/180,Pa=180/qa,Ua=Math.SQRT2,ja=2,Fa=4;ta.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=rt(v),o=i/(ja*h)*(e*ut(Ua*t+v)-et(v));return[r+o*l,u+o*s,i*e/rt(Ua*t+v)]}return[r+n*l,u+n*s,i*Math.exp(Ua*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+Fa*f)/(2*i*ja*h),p=(c*c-i*i-Fa*f)/(2*c*ja*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/Ua;return e.duration=1e3*y,e},ta.behavior.zoom=function(){function n(n){n.on(q,f).on(Oa+".zoom",g).on("dblclick.zoom",p).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function u(n){k.k=Math.max(N[0],Math.min(N[1],n))}function i(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},u(Math.pow(2,o)),i(d=e,r),t=ta.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function c(n){z++||n({type:"zoomstart"})}function l(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function s(n){--z||n({type:"zoomend"}),d=null}function f(){function n(){f=1,i(ta.mouse(u),g),l(a)}function r(){h.on(L,null).on(T,null),p(f&&ta.event.target===o),s(a)}var u=this,o=ta.event.target,a=D.of(u,arguments),f=0,h=ta.select(t(u)).on(L,n).on(T,r),g=e(ta.mouse(u)),p=W(u);Dl.call(u),c(a)}function h(){function n(){var n=ta.touches(p);return g=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ta.event.target;ta.select(t).on(x,r).on(b,a),_.push(t);for(var e=ta.event.changedTouches,u=0,i=e.length;i>u;++u)d[e[u].identifier]=null;var c=n(),l=Date.now();if(1===c.length){if(500>l-M){var s=c[0];o(p,s,d[s.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=l}else if(c.length>1){var s=c[0],f=c[1],h=s[0]-f[0],g=s[1]-f[1];m=h*h+g*g}}function r(){var n,t,e,r,o=ta.touches(p);Dl.call(p);for(var a=0,c=o.length;c>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=m&&Math.sqrt(s/m);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],u(f*g)}M=null,i(n,t),l(v)}function a(){if(ta.event.touches.length){for(var t=ta.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var u in d)return void n()}ta.selectAll(_).on(y,null),w.on(q,f).on(R,h),E(),s(v)}var g,p=this,v=D.of(p,arguments),d={},m=0,y=".zoom-"+ta.event.changedTouches[0].identifier,x="touchmove"+y,b="touchend"+y,_=[],w=ta.select(p),E=W(p);t(),c(v),w.on(q,null).on(R,t)}function g(){var n=D.of(this,arguments);y?clearTimeout(y):(v=e(d=m||ta.mouse(this)),Dl.call(this),c(n)),y=setTimeout(function(){y=null,s(n)},50),S(),u(Math.pow(2,.002*Ha())*k.k),i(d,v),l(n)}function p(){var n=ta.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ta.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,m,y,M,x,b,_,w,k={x:0,y:0,k:1},A=[960,500],N=Ia,C=250,z=0,q="mousedown.zoom",L="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=E(n,"zoomstart","zoom","zoomend");return Oa||(Oa="onwheel"in ua?(Ha=function(){return-ta.event.deltaY*(ta.event.deltaMode?120:1)},"wheel"):"onmousewheel"in ua?(Ha=function(){return ta.event.wheelDelta},"mousewheel"):(Ha=function(){return-ta.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Tl?ta.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},c(n)}).tween("zoom:zoom",function(){var e=A[0],r=A[1],u=d?d[0]:e/2,i=d?d[1]:r/2,o=ta.interpolateZoom([(u-k.x)/k.k,(i-k.y)/k.k,e/k.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:u-r[0]*a,y:i-r[1]*a,k:a},l(n)}}).each("interrupt.zoom",function(){s(n)}).each("end.zoom",function(){s(n)}):(this.__chart__=k,c(n),l(n),s(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:+t},a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(N=null==t?Ia:[+t[0],+t[1]],n):N},n.center=function(t){return arguments.length?(m=t&&[+t[0],+t[1]],n):m},n.size=function(t){return arguments.length?(A=t&&[+t[0],+t[1]],n):A},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ta.rebind(n,D,"on")};var Ha,Oa,Ia=[0,1/0];ta.color=ot,ot.prototype.toString=function(){return this.rgb()+""},ta.hsl=at;var Ya=at.prototype=new ot;Ya.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new at(this.h,this.s,this.l/n)},Ya.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new at(this.h,this.s,n*this.l)},Ya.rgb=function(){return ct(this.h,this.s,this.l)},ta.hcl=lt;var Za=lt.prototype=new ot;Za.brighter=function(n){return new lt(this.h,this.c,Math.min(100,this.l+Va*(arguments.length?n:1)))},Za.darker=function(n){return new lt(this.h,this.c,Math.max(0,this.l-Va*(arguments.length?n:1)))},Za.rgb=function(){return st(this.h,this.c,this.l).rgb()},ta.lab=ft;var Va=18,Xa=.95047,$a=1,Ba=1.08883,Wa=ft.prototype=new ot;Wa.brighter=function(n){return new ft(Math.min(100,this.l+Va*(arguments.length?n:1)),this.a,this.b)},Wa.darker=function(n){return new ft(Math.max(0,this.l-Va*(arguments.length?n:1)),this.a,this.b)},Wa.rgb=function(){return ht(this.l,this.a,this.b)},ta.rgb=mt;var Ja=mt.prototype=new ot;Ja.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new mt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mt(u,u,u)},Ja.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mt(n*this.r,n*this.g,n*this.b)},Ja.hsl=function(){return _t(this.r,this.g,this.b)},Ja.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var Ga=ta.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Ga.forEach(function(n,t){Ga.set(n,yt(t))}),ta.functor=Et,ta.xhr=At(y),ta.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=Nt(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++<l;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}s=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++s):10===r&&(u=!0),n.slice(t+1,e).replace(/""/g,'"')}for(;l>s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new m,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},ta.csv=ta.dsv(",","text/csv"),ta.tsv=ta.dsv(" ","text/tab-separated-values");var Ka,Qa,nc,tc,ec,rc=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ta.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};Qa?Qa.n=i:Ka=i,Qa=i,nc||(tc=clearTimeout(tc),nc=1,rc(qt))},ta.timer.flush=function(){Lt(),Tt()},ta.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var uc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);ta.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=ta.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),uc[8+e/3]};var ic=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,oc=ta.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ta.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),ac=ta.time={},cc=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){lc.setUTCDate.apply(this._,arguments)},setDay:function(){lc.setUTCDay.apply(this._,arguments)},setFullYear:function(){lc.setUTCFullYear.apply(this._,arguments)},setHours:function(){lc.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){lc.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){lc.setUTCMinutes.apply(this._,arguments)},setMonth:function(){lc.setUTCMonth.apply(this._,arguments)},setSeconds:function(){lc.setUTCSeconds.apply(this._,arguments)},setTime:function(){lc.setTime.apply(this._,arguments)}};var lc=Date.prototype;ac.year=Ft(function(n){return n=ac.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ac.years=ac.year.range,ac.years.utc=ac.year.utc.range,ac.day=Ft(function(n){var t=new cc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ac.days=ac.day.range,ac.days.utc=ac.day.utc.range,ac.dayOfYear=function(n){var t=ac.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ac[n]=Ft(function(n){return(n=ac.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ac[n+"s"]=e.range,ac[n+"s"].utc=e.utc.range,ac[n+"OfYear"]=function(n){var e=ac.year(n).getDay();return Math.floor((ac.dayOfYear(n)+(e+t)%7)/7)}}),ac.week=ac.sunday,ac.weeks=ac.sunday.range,ac.weeks.utc=ac.sunday.utc.range,ac.weekOfYear=ac.sundayOfYear;var sc={"-":"",_:" ",0:"0"},fc=/^\s*\d+/,hc=/^%/;ta.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var gc=ta.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ta.format=gc.numberFormat,ta.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,pc),le(pc.s,this.s,this),this.s?this.t+=pc.t:this.s=pc.t
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
208 },reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var pc=new ce;ta.geo.stream=function(n,t){n&&vc.hasOwnProperty(n.type)?vc[n.type](n,t):se(n,t)};var vc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)se(e[r].geometry,t)}},dc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){fe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)fe(e[r],t,0)},Polygon:function(n,t){he(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)he(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)se(e[r],t)}};ta.geo.area=function(n){return mc=0,ta.geo.stream(n,Mc),mc};var mc,yc=new ce,Mc={sphere:function(){mc+=4*qa},point:b,lineStart:b,lineEnd:b,polygonStart:function(){yc.reset(),Mc.lineStart=ge},polygonEnd:function(){var n=2*yc;mc+=0>n?4*qa+n:n,Mc.lineStart=Mc.lineEnd=Mc.point=b}};ta.geo.bounds=function(){function n(n,t){M.push(x=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*Da,e*Da]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);Me(o),o=xe(o);var c=t-p,l=c>0?1:-1,v=o[0]*Pa*l,d=ga(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Pa;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Pa;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){b.point=t}function r(){x[0]=s,x[1]=h,b.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=ga(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Mc.point(n,e),t(n,e)}function i(){Mc.lineStart()}function o(){u(v,d),Mc.lineEnd(),ga(y)>Ca&&(s=-(h=180)),x[0]=s,x[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var s,f,h,g,p,v,d,m,y,M,x,b={point:n,lineStart:e,lineEnd:r,polygonStart:function(){b.point=u,b.lineStart=i,b.lineEnd=o,y=0,Mc.polygonStart()},polygonEnd:function(){Mc.polygonEnd(),b.point=n,b.lineStart=e,b.lineEnd=r,0>yc?(s=-(h=180),f=-(g=90)):y>Ca?g=90:-Ca>y&&(f=-90),x[0]=s,x[1]=h}};return function(n){g=h=-(s=f=1/0),M=[],ta.geo.stream(n,b);var t=M.length;if(t){M.sort(c);for(var e,r=1,u=M[0],i=[u];t>r;++r)e=M[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return M=x=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),ta.geo.centroid=function(n){xc=bc=_c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,qc);var t=Nc,e=Cc,r=zc,u=t*t+e*e+r*r;return za>u&&(t=kc,e=Ec,r=Ac,Ca>bc&&(t=_c,e=wc,r=Sc),u=t*t+e*e+r*r,za>u)?[0/0,0/0]:[Math.atan2(e,t)*Pa,tt(r/Math.sqrt(u))*Pa]};var xc,bc,_c,wc,Sc,kc,Ec,Ac,Nc,Cc,zc,qc={sphere:b,point:_e,lineStart:Se,lineEnd:ke,polygonStart:function(){qc.lineStart=Ee},polygonEnd:function(){qc.lineStart=Se}},Lc=Le(Ne,Pe,je,[-qa,-qa/2]),Tc=1e9;ta.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Ie(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ta.geo.conicEqualArea=function(){return Ye(Ze)}).raw=Ze,ta.geo.albers=function(){return ta.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ta.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=ta.geo.albers(),o=ta.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ta.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Ca,f+.12*l+Ca],[s-.214*l-Ca,f+.234*l-Ca]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Ca,f+.166*l+Ca],[s-.115*l-Ca,f+.234*l-Ca]]).stream(c).point,n},n.scale(1070)};var Rc,Dc,Pc,Uc,jc,Fc,Hc={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Dc=0,Hc.lineStart=Ve},polygonEnd:function(){Hc.lineStart=Hc.lineEnd=Hc.point=b,Rc+=ga(Dc/2)}},Oc={point:Xe,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Ic={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){Ic.lineStart=Ke},polygonEnd:function(){Ic.point=We,Ic.lineStart=Je,Ic.lineEnd=Ge}};ta.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),ta.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return Rc=0,ta.geo.stream(n,u(Hc)),Rc},n.centroid=function(n){return _c=wc=Sc=kc=Ec=Ac=Nc=Cc=zc=0,ta.geo.stream(n,u(Ic)),zc?[Nc/zc,Cc/zc]:Ac?[kc/Ac,Ec/Ac]:Sc?[_c/Sc,wc/Sc]:[0/0,0/0]},n.bounds=function(n){return jc=Fc=-(Pc=Uc=1/0),ta.geo.stream(n,u(Oc)),[[Pc,Uc],[jc,Fc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):y,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(ta.geo.albersUsa()).context(null)},ta.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ta.geo.projection=ur,ta.geo.projectionMutator=ir,(ta.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,ta.geo.rotation=function(n){function t(t){return t=n(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t}return n=lr(n[0]%360*Da,n[1]*Da,n.length>2?n[2]*Da:0),t.invert=function(t){return t=n.invert(t[0]*Da,t[1]*Da),t[0]*=Pa,t[1]*=Pa,t},t},cr.invert=ar,ta.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*Da,-n[1]*Da,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Pa,n[1]*=Pa}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*Da,u*Da),n):t},n.precision=function(r){return arguments.length?(e=gr(t*Da,(u=+r)*Da),n):u},n.angle(90)},ta.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Da,u=n[1]*Da,i=t[1]*Da,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},ta.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ta.range(Math.ceil(i/d)*d,u,d).map(h).concat(ta.range(Math.ceil(l/m)*m,c,m).map(g)).concat(ta.range(Math.ceil(r/p)*p,e,p).filter(function(n){return ga(n%d)>Ca}).map(s)).concat(ta.range(Math.ceil(a/v)*v,o,v).filter(function(n){return ga(n%m)>Ca}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Ca],[180,90-Ca]]).minorExtent([[-180,-80-Ca],[180,80+Ca]])},ta.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return ta.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},ta.geo.interpolate=function(n,t){return Mr(n[0]*Da,n[1]*Da,t[0]*Da,t[1]*Da)},ta.geo.length=function(n){return Yc=0,ta.geo.stream(n,Zc),Yc};var Yc,Zc={sphere:b,point:b,lineStart:xr,lineEnd:b,polygonStart:b,polygonEnd:b},Vc=br(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ta.geo.azimuthalEqualArea=function(){return ur(Vc)}).raw=Vc;var Xc=br(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},y);(ta.geo.azimuthalEquidistant=function(){return ur(Xc)}).raw=Xc,(ta.geo.conicConformal=function(){return Ye(_r)}).raw=_r,(ta.geo.conicEquidistant=function(){return Ye(wr)}).raw=wr;var $c=br(function(n){return 1/n},Math.atan);(ta.geo.gnomonic=function(){return ur($c)}).raw=$c,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ra]},(ta.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Bc=br(function(){return 1},Math.asin);(ta.geo.orthographic=function(){return ur(Bc)}).raw=Bc;var Wc=br(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ta.geo.stereographic=function(){return ur(Wc)}).raw=Wc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ra]},(ta.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,ta.geom={},ta.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=Et(e),i=Et(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Cr(a),s=Cr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t<s.length-h;++t)g.push(n[a[s[t]][2]]);return g}var e=Ar,r=Nr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},ta.geom.polygon=function(n){return ya(n,Jc),n};var Jc=ta.geom.polygon.prototype=[];Jc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Jc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Jc.clip=function(n){for(var t,e,r,u,i,o,a=Tr(n),c=-1,l=this.length-Tr(this),s=this[l-1];++c<l;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],qr(o,s,u)?(qr(i,s,u)||n.push(Lr(i,o,s,u)),n.push(o)):qr(i,s,u)&&n.push(Lr(i,o,s,u)),i=o;a&&n.push(n[0]),s=u}return n};var Gc,Kc,Qc,nl,tl,el=[],rl=[];Or.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Yr),t.length},Qr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},nu.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=uu(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(eu(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ru(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(ru(this,e),n=e,e=n.U),e.C=!1,r.C=!0,eu(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?uu(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return void(n.C=!1);do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,eu(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ru(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,eu(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,ru(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,eu(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,ru(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},ta.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return iu(e(n),a).cells.forEach(function(e,a){var c=e.edges,l=e.site,s=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):l.x>=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Ca)*Ca,y:Math.round(o(n,t)/Ca)*Ca,i:t}})}var r=Ar,u=Nr,i=r,o=u,a=ul;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Yr),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c<l;)u=s,i=f,s=a[c].edge,f=s.l===o?s.r:s.l,r<i.i&&r<f.i&&au(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=Et(r=n),t):r},t.y=function(n){return arguments.length?(o=Et(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?ul:n,t):a===ul?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===ul?null:a&&a[1]},t)};var ul=[[-1e6,-1e6],[1e6,1e6]];ta.geom.delaunay=function(n){return ta.geom.voronoi().triangles(n)},ta.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,s=n.y;if(null!=c)if(ga(c-e)+ga(s-r)<.01)l(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,l(n,f,c,s,u,i,o,a),l(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else l(n,t,e,r,u,i,o,a)}function l(n,t,e,r,u,o,a,c){var l=.5*(u+a),s=.5*(o+c),f=e>=l,h=r>=s,g=h<<1|f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,M=Et(a),x=Et(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.x<v&&(v=s.x),s.y<d&&(d=s.y),s.x>m&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var b=+M(s=n[g],g),_=+x(s,g);v>b&&(v=b),d>_&&(d=_),b>m&&(m=b),_>y&&(y=_),f.push(b),h.push(_)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+M(n,++g),+x(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},k.find=function(n){return hu(k,n[0],n[1],v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=s=null,k}var o,a=Ar,c=Nr;return(o=arguments.length)?(a=cu,c=lu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},ta.interpolateRgb=gu,ta.interpolateObject=pu,ta.interpolateNumber=vu,ta.interpolateString=du;var il=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ol=new RegExp(il.source,"g");ta.interpolate=mu,ta.interpolators=[function(n,t){var e=typeof t;return("string"===e?Ga.has(t)||/^(#|rgb\(|hsl\()/.test(t)?gu:du:t instanceof ot?gu:Array.isArray(t)?yu:"object"===e&&isNaN(t)?pu:vu)(n,t)}],ta.interpolateArray=yu;var al=function(){return y},cl=ta.map({linear:al,poly:ku,quad:function(){return _u},cubic:function(){return wu},sin:function(){return Eu},exp:function(){return Au},circle:function(){return Nu},elastic:Cu,back:zu,bounce:function(){return qu}}),ll=ta.map({"in":y,out:xu,"in-out":bu,"out-in":function(n){return bu(xu(n))}});ta.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=cl.get(e)||al,r=ll.get(r)||y,Mu(r(e.apply(null,ea.call(arguments,1))))},ta.interpolateHcl=Lu,ta.interpolateHsl=Tu,ta.interpolateLab=Ru,ta.interpolateRound=Du,ta.transform=function(n){var t=ua.createElementNS(ta.ns.prefix.svg,"g");return(ta.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Pu(e?e.matrix:sl)})(n)},Pu.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var sl={a:1,b:0,c:0,d:1,e:0,f:0};ta.interpolateTransform=Hu,ta.layout={},ta.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Yu(n[e]));return t}},ta.layout.chord=function(){function n(){var n,l,f,h,g,p={},v=[],d=ta.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(l=0,g=-1;++g<i;)l+=u[h][g];v.push(l),m.push(ta.range(i)),n+=l}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(La-s*i)/n,l=0,h=-1;++h<i;){for(f=l,g=-1;++g<i;){var y=d[h],M=m[y][g],x=u[y][M],b=l,_=l+=x*n;p[y+"-"+M]={index:y,subindex:M,startAngle:b,endAngle:_,value:x}}r[y]={index:y,startAngle:f,endAngle:l,value:(l-f)/n},l+=s}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,l={},s=0;return l.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,l):u},l.padding=function(n){return arguments.length?(s=n,e=r=null,l):s},l.sortGroups=function(n){return arguments.length?(o=n,e=r=null,l):o},l.sortSubgroups=function(n){return arguments.length?(a=n,e=null,l):a},l.sortChords=function(n){return arguments.length?(c=n,e&&t(),l):c},l.chords=function(){return e||n(),e},l.groups=function(){return r||n(),r},l},ta.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=ta.event.x,n.py=ta.event.y,a.resume()}var e,r,u,i,o,a={},c=ta.dispatch("start","tick","end"),l=[1,1],s=.9,f=fl,h=hl,g=-30,p=gl,v=.1,d=.64,m=[],M=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,y,x,b=m.length,_=M.length;for(e=0;_>e;++e)a=M[e],f=a.source,h=a.target,y=h.x-f.x,x=h.y-f.y,(p=y*y+x*x)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,y*=p,x*=p,h.x-=y*(d=f.weight/(h.weight+f.weight)),h.y-=x*d,f.x+=y*(d=1-d),f.y+=x*d);if((d=r*v)&&(y=l[0]/2,x=l[1]/2,e=-1,d))for(;++e<b;)a=m[e],a.x+=(y-a.x)*d,a.y+=(x-a.y)*d;if(g)for(Ju(t=ta.geom.quadtree(m),r,o),e=-1;++e<b;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<b;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*s,a.y-=(a.py-(a.py=a.y))*s);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(M=n,a):M},a.size=function(n){return arguments.length?(l=n,a):l},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(s=+n,a):s},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),ta.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;s>a;++a){var u=M[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++a<l;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,s=M.length,p=l[0],v=l[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=M[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,M[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,M[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=ta.behavior.drag().origin(y).on("dragstart.force",Xu).on("drag.force",t).on("dragend.force",$u)),arguments.length?void this.on("mouseover.force",Bu).on("mouseout.force",Wu).call(e):e},ta.rebind(a,c,"on")};var fl=20,hl=1,gl=1/0;ta.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Qu(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ei,e=ni,r=ti;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ku(t,function(n){n.children&&(n.value=0)}),Qu(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ta.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++l<o;)n(a=i[l],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=ta.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Gu(e,r)},ta.layout.pie=function(){function n(o){var a,c=o.length,l=o.map(function(e,r){return+t.call(n,e,r)}),s=+("function"==typeof r?r.apply(this,arguments):r),f=("function"==typeof u?u.apply(this,arguments):u)-s,h=Math.min(Math.abs(f)/c,+("function"==typeof i?i.apply(this,arguments):i)),g=h*(0>f?-1:1),p=(f-c*g)/ta.sum(l),v=ta.range(c),d=[];return null!=e&&v.sort(e===pl?function(n,t){return l[t]-l[n]}:function(n,t){return e(o[n],o[t])}),v.forEach(function(n){d[n]={data:o[n],value:a=l[n],startAngle:s,endAngle:s+=a*p+g,padAngle:h}}),d}var t=Number,e=pl,r=0,u=La,i=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n.padAngle=function(t){return arguments.length?(i=t,n):i},n};var pl={};ta.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=ta.permute(l,f),s=ta.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=y,e=ai,r=ci,u=oi,i=ui,o=ii;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:vl.get(t)||ai,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:dl.get(t)||ci,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var vl=ta.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(li),i=n.map(si),o=ta.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return ta.range(n.length).reverse()},"default":ai}),dl=ta.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ci});ta.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=l[i],a>=s[0]&&a<=s[1]&&(o=c[ta.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=pi,u=hi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=Et(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return gi(n,t)}:Et(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ta.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Qu(a,function(n){n.r=+s(n.value)}),Qu(a,Mi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Qu(a,function(n){n.r+=f}),Qu(a,Mi),Qu(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=ta.layout.hierarchy().sort(vi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Gu(n,e)},ta.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Qu(h,e),h.parent.m=-h.z,Ku(h,r),l)Ku(f,i);else{var g=f,p=f,v=f;Ku(f,function(n){n.x<g.x&&(g=n),n.x>p.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Ku(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ni(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=Ei(o),u=ki(u),o&&u;)c=ki(c),i=Ei(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ai(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!Ei(i)&&(i.t=o,i.m+=f-s),u&&!ki(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=ta.layout.hierarchy().sort(null).value(null),a=Si,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Gu(n,o)},ta.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Qu(c,function(n){var t=n.children;t&&t.length?(n.x=qi(t),n.y=zi(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Qu(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=ta.layout.hierarchy().sort(null).value(null),e=Si,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Gu(n,t)},ta.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++i<o;)u=n[i],u.x=a,u.y=l,u.dy=s,a+=u.dx=Math.min(e.x+e.dx-a,s?c(u.area/s):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=s,e.dy-=s}else{for((r||s>e.dx)&&(s=e.dx);++i<o;)u=n[i],u.x=a,u.y=l,u.dx=s,l+=u.dy=Math.min(e.y+e.dy-l,s?c(u.area/s):0);u.z=!1,u.dy+=e.y+e.dy-l,e.x+=s,e.dx-=s}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=l[0],i.dy=l[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=ta.layout.hierarchy(),c=Math.round,l=[1,1],s=null,f=Ri,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
209 return i.size=function(n){return arguments.length?(l=n,i):l},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?Ri(t):Di(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return Di(t,n)}if(!arguments.length)return s;var r;return f=null==(s=n)?Ri:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Gu(i,a)},ta.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=ta.random.normal.apply(ta,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ta.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ta.scale={};var ml={floor:y,ceil:y};ta.scale.linear=function(){return Ii([0,1],[0,1],mu,!1)};var yl={s:1,g:1,p:1,r:1,e:1};ta.scale.log=function(){return Ji(ta.scale.linear().domain([0,1]),10,!0,[1,10])};var Ml=ta.format(".0e"),xl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ta.scale.pow=function(){return Gi(ta.scale.linear(),1,[0,1])},ta.scale.sqrt=function(){return ta.scale.pow().exponent(.5)},ta.scale.ordinal=function(){return Qi([],{t:"range",a:[[]]})},ta.scale.category10=function(){return ta.scale.ordinal().range(bl)},ta.scale.category20=function(){return ta.scale.ordinal().range(_l)},ta.scale.category20b=function(){return ta.scale.ordinal().range(wl)},ta.scale.category20c=function(){return ta.scale.ordinal().range(Sl)};var bl=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(Mt),_l=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(Mt),wl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(Mt),Sl=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(Mt);ta.scale.quantile=function(){return no([],[])},ta.scale.quantize=function(){return to(0,1,[0,1])},ta.scale.threshold=function(){return eo([.5],[0,1])},ta.scale.identity=function(){return ro([0,1])},ta.svg={},ta.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),s=o.apply(this,arguments)-Ra,f=a.apply(this,arguments)-Ra,h=Math.abs(f-s),g=s>f?0:1;if(n>l&&(p=l,l=n,n=p),h>=Ta)return t(l,g)+(n?t(n,1-g):"")+"Z";var p,v,d,m,y,M,x,b,_,w,S,k,E=0,A=0,N=[];if((m=(+c.apply(this,arguments)||0)/2)&&(d=i===kl?Math.sqrt(n*n+l*l):+i.apply(this,arguments),g||(A*=-1),l&&(A=tt(d/l*Math.sin(m))),n&&(E=tt(d/n*Math.sin(m)))),l){y=l*Math.cos(s+A),M=l*Math.sin(s+A),x=l*Math.cos(f-A),b=l*Math.sin(f-A);var C=Math.abs(f-s-2*A)<=qa?0:1;if(A&&so(y,M,x,b)===g^C){var z=(s+f)/2;y=l*Math.cos(z),M=l*Math.sin(z),x=b=null}}else y=M=0;if(n){_=n*Math.cos(f-E),w=n*Math.sin(f-E),S=n*Math.cos(s+E),k=n*Math.sin(s+E);var q=Math.abs(s-f+2*E)<=qa?0:1;if(E&&so(_,w,S,k)===1-g^q){var L=(s+f)/2;_=n*Math.cos(L),w=n*Math.sin(L),S=k=null}}else _=w=0;if((p=Math.min(Math.abs(l-n)/2,+u.apply(this,arguments)))>.001){v=l>n^g?0:1;var T=null==S?[_,w]:null==x?[y,M]:Lr([y,M],[S,k],[x,b],[_,w]),R=y-T[0],D=M-T[1],P=x-T[0],U=b-T[1],j=1/Math.sin(Math.acos((R*P+D*U)/(Math.sqrt(R*R+D*D)*Math.sqrt(P*P+U*U)))/2),F=Math.sqrt(T[0]*T[0]+T[1]*T[1]);if(null!=x){var H=Math.min(p,(l-F)/(j+1)),O=fo(null==S?[_,w]:[S,k],[y,M],l,H,g),I=fo([x,b],[_,w],l,H,g);p===H?N.push("M",O[0],"A",H,",",H," 0 0,",v," ",O[1],"A",l,",",l," 0 ",1-g^so(O[1][0],O[1][1],I[1][0],I[1][1]),",",g," ",I[1],"A",H,",",H," 0 0,",v," ",I[0]):N.push("M",O[0],"A",H,",",H," 0 1,",v," ",I[0])}else N.push("M",y,",",M);if(null!=S){var Y=Math.min(p,(n-F)/(j-1)),Z=fo([y,M],[S,k],n,-Y,g),V=fo([_,w],null==x?[y,M]:[x,b],n,-Y,g);p===Y?N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",V[1],"A",n,",",n," 0 ",g^so(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-g," ",Z[1],"A",Y,",",Y," 0 0,",v," ",Z[0]):N.push("L",V[0],"A",Y,",",Y," 0 0,",v," ",Z[0])}else N.push("L",_,",",w)}else N.push("M",y,",",M),null!=x&&N.push("A",l,",",l," 0 ",C,",",g," ",x,",",b),N.push("L",_,",",w),null!=S&&N.push("A",n,",",n," 0 ",q,",",1-g," ",S,",",k);return N.push("Z"),N.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=io,r=oo,u=uo,i=kl,o=ao,a=co,c=lo;return n.innerRadius=function(t){return arguments.length?(e=Et(t),n):e},n.outerRadius=function(t){return arguments.length?(r=Et(t),n):r},n.cornerRadius=function(t){return arguments.length?(u=Et(t),n):u},n.padRadius=function(t){return arguments.length?(i=t==kl?kl:Et(t),n):i},n.startAngle=function(t){return arguments.length?(o=Et(t),n):o},n.endAngle=function(t){return arguments.length?(a=Et(t),n):a},n.padAngle=function(t){return arguments.length?(c=Et(t),n):c},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Ra;return[Math.cos(t)*n,Math.sin(t)*n]},n};var kl="auto";ta.svg.line=function(){return ho(y)};var El=ta.map({linear:go,"linear-closed":po,step:vo,"step-before":mo,"step-after":yo,basis:So,"basis-open":ko,"basis-closed":Eo,bundle:Ao,cardinal:bo,"cardinal-open":Mo,"cardinal-closed":xo,monotone:To});El.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Al=[0,2/3,1/3,0],Nl=[0,1/3,2/3,0],Cl=[0,1/6,2/3,1/6];ta.svg.line.radial=function(){var n=ho(Ro);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},mo.reverse=yo,yo.reverse=mo,ta.svg.area=function(){return Do(y)},ta.svg.area.radial=function(){var n=Do(Ro);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ta.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)-Ra,s=l.call(n,u,r)-Ra;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>qa)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Po,c=ao,l=co;return n.radius=function(t){return arguments.length?(a=Et(t),n):a},n.source=function(t){return arguments.length?(i=Et(t),n):i},n.target=function(t){return arguments.length?(o=Et(t),n):o},n.startAngle=function(t){return arguments.length?(c=Et(t),n):c},n.endAngle=function(t){return arguments.length?(l=Et(t),n):l},n},ta.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=Uo;return n.source=function(e){return arguments.length?(t=Et(e),n):t},n.target=function(t){return arguments.length?(e=Et(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ta.svg.diagonal.radial=function(){var n=ta.svg.diagonal(),t=Uo,e=n.projection;return n.projection=function(n){return arguments.length?e(jo(t=n)):t},n},ta.svg.symbol=function(){function n(n,r){return(zl.get(t.call(this,n,r))||Oo)(e.call(this,n,r))}var t=Ho,e=Fo;return n.type=function(e){return arguments.length?(t=Et(e),n):t},n.size=function(t){return arguments.length?(e=Et(t),n):e},n};var zl=ta.map({circle:Oo,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ll)),e=t*Ll;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/ql),e=t*ql/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ta.svg.symbolTypes=zl.keys();var ql=Math.sqrt(3),Ll=Math.tan(30*Da);_a.transition=function(n){for(var t,e,r=Tl||++Ul,u=Xo(n),i=[],o=Rl||{time:Date.now(),ease:Su,delay:0,duration:250},a=-1,c=this.length;++a<c;){i.push(t=[]);for(var l=this[a],s=-1,f=l.length;++s<f;)(e=l[s])&&$o(e,s,u,r,o),t.push(e)}return Yo(i,u,r)},_a.interrupt=function(n){return this.each(null==n?Dl:Io(Xo(n)))};var Tl,Rl,Dl=Io(Xo()),Pl=[],Ul=0;Pl.call=_a.call,Pl.empty=_a.empty,Pl.node=_a.node,Pl.size=_a.size,ta.transition=function(n,t){return n&&n.transition?Tl?n.transition(t):n:ta.selection().transition(n)},ta.transition.prototype=Pl,Pl.select=function(n){var t,e,r,u=this.id,i=this.namespace,o=[];n=N(n);for(var a=-1,c=this.length;++a<c;){o.push(t=[]);for(var l=this[a],s=-1,f=l.length;++s<f;)(r=l[s])&&(e=n.call(r,r.__data__,s,a))?("__data__"in r&&(e.__data__=r.__data__),$o(e,s,i,u,r[i][u]),t.push(e)):t.push(null)}return Yo(o,i,u)},Pl.selectAll=function(n){var t,e,r,u,i,o=this.id,a=this.namespace,c=[];n=C(n);for(var l=-1,s=this.length;++l<s;)for(var f=this[l],h=-1,g=f.length;++h<g;)if(r=f[h]){i=r[a][o],e=n.call(r,r.__data__,h,l),c.push(t=[]);for(var p=-1,v=e.length;++p<v;)(u=e[p])&&$o(u,p,a,o,i),t.push(u)}return Yo(c,a,o)},Pl.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=O(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Yo(u,this.namespace,this.id)},Pl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(u){u[r][e].tween.set(n,t)})},Pl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Hu:mu,a=ta.ns.qualify(n);return Zo(this,"attr."+n,t,a.local?i:u)},Pl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=ta.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Pl.style=function(n,e,r){function u(){this.style.removeProperty(n)}function i(e){return null==e?u:(e+="",function(){var u,i=t(this).getComputedStyle(this,null).getPropertyValue(n);return i!==e&&(u=mu(i,e),function(t){this.style.setProperty(n,u(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Zo(this,"style."+n,e,i)},Pl.styleTween=function(n,e,r){function u(u,i){var o=e.call(this,u,i,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,u)},Pl.text=function(n){return Zo(this,"text",n,Vo)},Pl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Pl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ta.ease.apply(ta,arguments)),Y(this,function(r){r[e][t].ease=n}))},Pl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,u,i){r[e][t].delay=+n.call(r,r.__data__,u,i)}:(n=+n,function(r){r[e][t].delay=n}))},Pl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,u,i){r[e][t].duration=Math.max(1,n.call(r,r.__data__,u,i))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Pl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var u=Rl,i=Tl;try{Tl=e,Y(this,function(t,u,i){Rl=t[r][e],n.call(t,t.__data__,u,i)})}finally{Rl=u,Tl=i}}else Y(this,function(u){var i=u[r][e];(i.event||(i.event=ta.dispatch("start","end","interrupt"))).on(n,t)});return this},Pl.transition=function(){for(var n,t,e,r,u=this.id,i=++Ul,o=this.namespace,a=[],c=0,l=this.length;l>c;c++){a.push(n=[]);for(var t=this[c],s=0,f=t.length;f>s;s++)(e=t[s])&&(r=e[o][u],$o(e,s,o,i,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Yo(a,o,i)},ta.svg.axis=function(){function n(n){n.each(function(){var n,l=ta.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):y:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Ca),d=ta.transition(p.exit()).style("opacity",Ca).remove(),m=ta.transition(p.order()).style("opacity",1),M=Math.max(u,0)+o,x=Ui(f),b=l.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ta.transition(b));v.append("line"),v.append("text");var w,S,k,E,A=v.select("line"),N=m.select("line"),C=p.select("text").text(g),z=v.select("text"),q=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Bo,w="x",k="y",S="x2",E="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+L*i+"V0H"+x[1]+"V"+L*i)):(n=Wo,w="y",k="x",S="y2",E="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),_.attr("d","M"+L*i+","+x[0]+"H0V"+x[1]+"H"+L*i)),A.attr(E,L*u),z.attr(k,L*M),N.attr(S,0).attr(E,L*u),q.attr(w,0).attr(k,L*M),f.rangeBand){var T=f,R=T.rangeBand()/2;s=f=function(n){return T(n)+R}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=ta.scale.linear(),r=jl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Fl?t+"":jl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var jl="bottom",Fl={top:1,right:1,bottom:1,left:1};ta.svg.brush=function(){function n(t){t.each(function(){var t=ta.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",i).on("touchstart.brush",i),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,y);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Hl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var c,f=ta.transition(t),h=ta.transition(o);l&&(c=Ui(l),h.attr("x",c[0]).attr("width",c[1]-c[0]),r(f)),s&&(c=Ui(s),h.attr("y",c[0]).attr("height",c[1]-c[0]),u(f)),e(f)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+f[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",f[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function u(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function i(){function i(){32==ta.event.keyCode&&(C||(M=null,q[0]-=f[1],q[1]-=h[1],C=2),S())}function v(){32==ta.event.keyCode&&2==C&&(q[0]+=f[1],q[1]+=h[1],C=0,S())}function d(){var n=ta.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ta.event.altKey?(M||(M=[(f[0]+f[1])/2,(h[0]+h[1])/2]),q[0]=f[+(n[0]<M[0])],q[1]=h[+(n[1]<M[1])]):M=null),A&&m(n,l,0)&&(r(k),t=!0),N&&m(n,s,1)&&(u(k),t=!0),t&&(e(k),w({type:"brush",mode:C?"move":"resize"}))}function m(n,t,e){var r,u,i=Ui(t),c=i[0],l=i[1],s=q[e],v=e?h:f,d=v[1]-v[0];return C&&(c-=s,l-=d+s),r=(e?p:g)?Math.max(c,Math.min(l,n[e])):n[e],C?u=(r+=s)+d:(M&&(s=Math.max(c,Math.min(l,2*M[e]-r))),r>s?(u=r,r=s):u=s),v[0]!=r||v[1]!=u?(e?a=null:o=null,v[0]=r,v[1]=u,!0):void 0}function y(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ta.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ta.select(ta.event.target),w=c.of(b,arguments),k=ta.select(b),E=_.datum(),A=!/^(n|s)$/.test(E)&&l,N=!/^(e|w)$/.test(E)&&s,C=_.classed("extent"),z=W(b),q=ta.mouse(b),L=ta.select(t(b)).on("keydown.brush",i).on("keyup.brush",v);if(ta.event.changedTouches?L.on("touchmove.brush",d).on("touchend.brush",y):L.on("mousemove.brush",d).on("mouseup.brush",y),k.interrupt().selectAll("*").interrupt(),C)q[0]=f[0]-q[0],q[1]=h[0]-q[1];else if(E){var T=+/w$/.test(E),R=+/^n/.test(E);x=[f[1-T]-q[0],h[1-R]-q[1]],q[0]=f[T],q[1]=h[R]}else ta.event.altKey&&(M=q.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ta.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,c=E(n,"brushstart","brush","brushend"),l=null,s=null,f=[0,0],h=[0,0],g=!0,p=!0,v=Ol[0];return n.event=function(n){n.each(function(){var n=c.of(this,arguments),t={x:f,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Tl?ta.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,f=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=yu(f,t.x),r=yu(h,t.y);return o=a=null,function(u){f=t.x=e(u),h=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(l=t,v=Ol[!l<<1|!s],n):l},n.y=function(t){return arguments.length?(s=t,v=Ol[!l<<1|!s],n):s},n.clamp=function(t){return arguments.length?(l&&s?(g=!!t[0],p=!!t[1]):l?g=!!t:s&&(p=!!t),n):l&&s?[g,p]:l?g:s?p:null},n.extent=function(t){var e,r,u,i,c;return arguments.length?(l&&(e=t[0],r=t[1],s&&(e=e[0],r=r[0]),o=[e,r],l.invert&&(e=l(e),r=l(r)),e>r&&(c=e,e=r,r=c),(e!=f[0]||r!=f[1])&&(f=[e,r])),s&&(u=t[0],i=t[1],l&&(u=u[1],i=i[1]),a=[u,i],s.invert&&(u=s(u),i=s(i)),u>i&&(c=u,u=i,i=c),(u!=h[0]||i!=h[1])&&(h=[u,i])),n):(l&&(o?(e=o[0],r=o[1]):(e=f[0],r=f[1],l.invert&&(e=l.invert(e),r=l.invert(r)),e>r&&(c=e,e=r,r=c))),s&&(a?(u=a[0],i=a[1]):(u=h[0],i=h[1],s.invert&&(u=s.invert(u),i=s.invert(i)),u>i&&(c=u,u=i,i=c))),l&&s?[[e,u],[r,i]]:l?[e,r]:s&&[u,i])},n.clear=function(){return n.empty()||(f=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!l&&f[0]==f[1]||!!s&&h[0]==h[1]},ta.rebind(n,c,"on")};var Hl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ol=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Il=ac.format=gc.timeFormat,Yl=Il.utc,Zl=Yl("%Y-%m-%dT%H:%M:%S.%LZ");Il.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Jo:Zl,Jo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Jo.toString=Zl.toString,ac.second=Ft(function(n){return new cc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ac.seconds=ac.second.range,ac.seconds.utc=ac.second.utc.range,ac.minute=Ft(function(n){return new cc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ac.minutes=ac.minute.range,ac.minutes.utc=ac.minute.utc.range,ac.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new cc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ac.hours=ac.hour.range,ac.hours.utc=ac.hour.utc.range,ac.month=Ft(function(n){return n=ac.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ac.months=ac.month.range,ac.months.utc=ac.month.utc.range;var Vl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Xl=[[ac.second,1],[ac.second,5],[ac.second,15],[ac.second,30],[ac.minute,1],[ac.minute,5],[ac.minute,15],[ac.minute,30],[ac.hour,1],[ac.hour,3],[ac.hour,6],[ac.hour,12],[ac.day,1],[ac.day,2],[ac.week,1],[ac.month,1],[ac.month,3],[ac.year,1]],$l=Il.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ne]]),Bl={range:function(n,t,e){return ta.range(Math.ceil(n/e)*e,+t,e).map(Ko)},floor:y,ceil:y};Xl.year=ac.year,ac.scale=function(){return Go(ta.scale.linear(),Xl,$l)};var Wl=Xl.map(function(n){return[n[0].utc,n[1]]}),Jl=Yl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ne]]);Wl.year=ac.year.utc,ac.scale.utc=function(){return Go(ta.scale.linear(),Wl,Jl)},ta.text=At(function(n){return n.responseText}),ta.json=function(n,t){return Nt(n,"application/json",Qo,t)},ta.html=function(n,t){return Nt(n,"text/html",na,t)},ta.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(ta):"object"==typeof module&&module.exports&&(module.exports=ta),this.d3=ta}();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
210 </script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
211 <script type="text/javascript">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
212 /*
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
213 * Node 0.1.0 - JavaScript Node Library
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
214 *
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
215 * Copyright (c) 2015 Escudie Frederic
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
216 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
217 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
218 var Node=function(e,t,n,r){if(this.name=e,this.parent=t,this.children=new Array,null!=n)for(var i=0;i<n.length;i++)this.addChild(n[i]);this.metadata=new Array,null!=r&&(this.metadata=r)};Node.fromNewick=function(e){for(var t=new Array,n=0;n<e.length;n++){var r=e[n];if("("==r)t.push("(");else if(")"==r){for(var i=new Node(null,null,null,null);"("!=t[t.length-1];)i.addChild(t.pop());t.pop(),t.push(i)}else if(","==r);else if(";"==r);else if(":"==r){for(var h="";","!=e[n+1]&&")"!=e[n+1]&&";"!=e[n+1];)n++,h+=e[n];t[t.length-1].metadata.dist=h}else{'"'==r?(stop_markers=['"'],n++):stop_markers=[",",")",":",";"];for(var o=e[n];-1==stop_markers.indexOf(e[n+1]);)n++,o+=e[n];-1!=stop_markers.indexOf('"')&&n++;var l=new Node(o,null,null,null);t.push(l)}}return t[0]},Node.prototype.toNewick=function(){},Node.prototype.toJson=function(){var e={name:null!=this.name?this.name:""};if(this.hasChild()){for(var t=new Array,n=0;n<this.children.length;n++)t.push(this.children[n].toJson());e.children=t}return e},Node.prototype.getLeavesNames=function(){var e=new Array;if(this.hasChild())for(var t=0;t<this.children.length;t++)for(var n=this.children[t].getLeavesNames(),r=0;r<n.length;r++)e.push(n[r]);else e.push(this.name);return e},Node.prototype.nbLeaves=function(){var e=0;if(this.hasChild())for(var t=0;t<this.children.length;t++)e+=this.children[t].nbLeaves();else e=1;return e},Node.prototype.maxDepth=function(){var e=0;if(this.hasChild())for(var t=0;t<this.children.length;t++)e=Math.max(e,this.children[t].maxDepth());return 1+e},Node.prototype.toAsciiTree=function(e){null==e&&(e=0);var t="--- "+(null!=this.name?this.name:"ancestor")+" ";e+=t.length;for(var n=0;n<this.children.length;n++)t+="\n"+Array(e).join(" ")+"\\"+this.children[n].toAsciiTree(e);return t},Node.prototype.toString=function(){var e="Node: "+this.name;return e+="\n Parent="+(null!=this.parent?this.parent.name:"-"),e+=this.hasChild()?"\n Children="+Object.keys(this.children).join(", "):"\n Children=-"},Node.prototype.hasChild=function(e){if(null==e)return this.children.length>0;for(var t=!1,n=0;n<this.children.length&&!t;n++)e==this.children[n]&&(t=!0);return t},Node.prototype.getChild=function(e){if(!this.hasChild(e))throw this.name+" doesn't have child named '"+e+"'.";return this.children[e]},Node.prototype.getParent=function(){return this.parent},Node.prototype.addChild=function(e){null==e.parent&&(e.parent=this),this.children.push(e)};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
219 </script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
220 <script type="text/javascript">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
221 /*
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
222 * HTMLTable.js 0.1.0 - HTMLTable Library
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
223 *
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
224 * Copyright (c) 2015 Escudie Frederic
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
225 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
226 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
227 function HTMLtable(e){var t,r,n=e,a=";";this.deleteColumns=function(e){for(var a=n.getElementsByTagName("tr"),o=0;o<a.length;o++){s=0;var i=a[o].getElementsByTagName("td");0==i.length&&(i=a[o].getElementsByTagName("th"));for(var v=0,s=0;s<t[1];s++)if(!r[o][s]){var f=i[v].getAttribute("colspan");if(null!=f)for(var m=0;f>m;m++){if(in_array(s+m,e)){var u=i[v].getAttribute("colspan");u-1==0?i[v].removeAttribute("colspan"):i[v].setAttribute("colspan",u-1)}if(null==i[v].getAttribute("colspan")){var h=i[v];a[o].removeChild(h),v--}}else if(in_array(s,e)){var h=i[v];a[o].removeChild(h),v--}v++}}l(),g()},this.filter=function(e,a){var l=new RegExp(e),g=new Array;null!=a&&a||(g.c0=!0);for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)r[i][f]||(l.test(v[s].innerHTML)&&(g["c"+f]=!0),s++)}for(var m=new Array,u=0;u<t[1];u++)void 0===g["c"+u]&&m.push(u);this.deleteColumns(m)},this.getModel=function(){return n};var l=function(){for(var e=0,r=0,a=n.getElementsByTagName("tr"),l=0;l<a.length;l++){var g=0;e++;var o=a[l].getElementsByTagName("td");0==o.length&&(o=a[l].getElementsByTagName("th"));for(var i=0;i<o.length;i++){var v=o[i].getAttribute("colspan");g+=null==v?1:parseInt(v)}g>r&&(r=g)}t=new Array(2),t[0]=e,t[1]=r},g=function(){r=new Array(t[0]);for(var e=0;e<t[0];e++){r[e]=new Array(t[1]);for(var a=0;a<t[1];a++)r[e][a]=!1}for(var l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){v=0;var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)if(!r[g][v]){var s=0,f=0,m=o[i].getAttribute("rowspan");null!=m&&(s=parseInt(m)-1);var u=o[i].getAttribute("colspan");null!=u&&(f=parseInt(u)-1);for(var h=s;h>=0;h--)for(var y=f;y>=0;y--)(0!=h||0!=y)&&(r[g+h][v+y]=!0);i++}}};this.replace=function(e,a,l){var g=new RegExp(e);null==a&&(a=""),null==l&&(l="");for(var o=n.getElementsByTagName("tr"),i=0;i<o.length;i++){f=0;var v=o[i].getElementsByTagName("td");if(0!=v.length)for(var s=0,f=0;f<t[1];f++)if(!r[i][f]){var m=g.exec(v[s].innerHTML);null!=m&&(void 0===m[1]&&(m[1]=""),v[s].innerHTML=a+m[1]+l),s++}}},this.toCSV=function(){for(var e="",l=n.getElementsByTagName("tr"),g=0;g<l.length;g++){var o=l[g].getElementsByTagName("td");0==o.length&&(o=l[g].getElementsByTagName("th"));for(var i=0,v=0;v<t[1];v++)r[g][v]||(e+=o[i].innerHTML,i++),e+=a;e=e.substr(0,e.length-1)+"\n"}return e},l(),g()}var in_array=function(e,t){for(var r in t)if(t[r]==e)return!0;return!1};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
228
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
229 /*
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
230 * dataTableExtractor.plugin.js 0.1.0 - datatableExport Library
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
231 *
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
232 * Copyright (c) 2015 Escudie Frederic
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
233 * Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
234 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
235 !function(t){t.fn.datatableExport=function(a){var e={anchor_id:t(this).attr("id"),table_id:null,csv_separator:";",omitted_columns:[]},n=t.extend(e,a);if(!t(this).length)throw"The element where the datatableExport is called does not exist.";if(void 0==n.anchor_id)throw"The datatableExport plugin must be called on an element with id.";if(null==n.table_id)throw"You must set the table_id parameter in datatableExport plugin.";if(!t("#"+n.table_id))throw"The datatable '#"+n.table_id+"' cannot be retieve in DOM.";return this.each(function(){var a=t(this);a.on("click",function(){t.fn.datatableExport.csv(n.anchor_id,n.table_id,n.csv_separator,n.omitted_columns)})})},t.fn.datatableExport.cleanCellMarkup=function(a,e){t.parseHTML(e);t("#"+a).append('<div class="hidden data-tmp">'+e+"</div>"),t("#"+a+" .data-tmp").find("input").each(function(){var a="";a=t(this).is(":checkbox")?t(this).is(":checked")?"true":"false":t(this).val(),t(this).replaceWith(a)});var n=t("#"+a+" .data-tmp").text();return t("#"+a+" .data-tmp").remove(),n},t.fn.datatableExport.csv=function(a,e,n,i){var l="",r=t("#"+e).DataTable(),d=t("#"+e+" thead")[0],o=new HTMLtable(d.cloneNode(!0));o.deleteColumns(i),l+=o.toCSV();var c=r.rows().data();t.each(c,function(e,n){for(var r="",d=0;d<n.length;d++)-1==t.inArray(d,i)&&(r+='"'+t.fn.datatableExport.cleanCellMarkup(a,n[d])+'";');""!=r&&(r=r.slice(0,-1)),l+=r+"\n"}),t("#"+a+"-extract-csv").length||t("#"+a).append('<a id="'+a+'-extract-csv" href="data:text/csv;charset=UTF-8,'+encodeURI(l)+'" download="data.csv" style="display:none;"></a>'),t("#"+a+"-extract-csv")[0].click()}}(jQuery);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
236 </script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
237 <script type="text/javascript">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
238 //HC global var
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
239 var linkage_data = null ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
240 var d3_tree = null ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
241 var diagonal = null ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
242 var svg_layout = null ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
243 var node_id = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
244
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
245 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
246 * Draw/update linkage tree.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
247 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
248 function update_linkage_nodes(source) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
249 var duration = d3.event && d3.event.altKey ? 5000 : 500;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
250
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
251 // Compute the new tree layout.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
252 var nodes = d3_tree.nodes(linkage_data).reverse();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
253
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
254 // Normalise for fixed-depth.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
255 nodes.forEach(function(d) { d.y = d.depth * 100; });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
256
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
257 // Update the nodes.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
258 var node = svg_layout.selectAll("g.d3-node")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
259 .data(nodes, function(d) { return d.id || (d.id = ++node_id); });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
260
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
261 // Enter any new nodes at the parent's previous position.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
262 var nodeEnter = node.enter().append("svg:g")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
263 .attr("class", "d3-node")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
264 .attr("transform", function(d) { return "translate(" + source.y0 + "," + source.x0 + ")"; })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
265 .on("click", function(d) { toggle(d); });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
266
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
267 nodeEnter.append("svg:circle")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
268 .attr("r", 1e-6)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
269 .attr("class", function(d) { return d._children ? "d3-collapsed-node" : "d3-node-dot"; });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
270
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
271 nodeEnter.append("svg:text")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
272 .attr("x", function(d) { return d.children || d._children ? -10 : 10; })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
273 .attr("dy", ".35em")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
274 .attr("text-anchor", function(d) { return d.children || d._children ? "end" : "start"; })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
275 .text(function(d) { return d.name; })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
276 .style("fill-opacity", 1e-6);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
277
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
278 // Transition nodes to their new position.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
279 var nodeUpdate = node.transition()
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
280 .duration(duration)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
281 .attr("transform", function(d) { return "translate(" + d.y + "," + d.x + ")"; });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
282
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
283 nodeUpdate.select("circle")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
284 .attr("r", 6)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
285 .attr("class", function(d) { return d._children ? "d3-collapsed-node" : "d3-node-dot"; });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
286
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
287 nodeUpdate.select("text")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
288 .style("fill-opacity", 1);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
289
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
290 // Transition exiting nodes to the parent's new position.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
291 var nodeExit = node.exit().transition()
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
292 .duration(duration)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
293 .attr("transform", function(d) { return "translate(" + source.y + "," + source.x + ")"; })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
294 .remove();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
295
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
296 nodeExit.select("circle")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
297 .attr("r", 1e-6);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
298
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
299 nodeExit.select("text")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
300 .style("fill-opacity", 1e-6);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
301
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
302 // Update the links
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
303 var link = svg_layout.selectAll("path.d3-link")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
304 .data( d3_tree.links(nodes), function(d) { return d.target.id; } );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
305
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
306 // Enter any new links at the parent's previous position.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
307 link.enter().insert("svg:path", "g")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
308 .attr("class", "d3-link")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
309 .attr("d", function(d) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
310 var o = {x: source.x0, y: source.y0};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
311 return diagonal({source: o, target: o});
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
312 })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
313 .transition()
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
314 .duration(duration)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
315 .attr("d", diagonal);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
316
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
317 // Transition links to their new position.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
318 link.transition()
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
319 .duration(duration)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
320 .attr("d", diagonal);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
321
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
322 // Transition exiting nodes to the parent's new position.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
323 link.exit().transition()
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
324 .duration(duration)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
325 .attr("d", function(d) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
326 var o = {x: source.x, y: source.y};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
327 return diagonal({source: o, target: o});
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
328 })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
329 .remove();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
330
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
331 // Stash the old positions for transition.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
332 nodes.forEach(function(d) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
333 d.x0 = d.x;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
334 d.y0 = d.y;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
335 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
336 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
337
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
338 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
339 * Hide/Unhide children's node when toggle on node in linkage view.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
340 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
341 function toggle( d ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
342 //Hide/Unhide attributes
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
343 if (d.children) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
344 d._children = d.children;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
345 d.children = null;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
346 } else {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
347 d.children = d._children;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
348 d._children = null;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
349 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
350 //Update node and her children in SVG
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
351 update_linkage_nodes(d);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
352 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
353 </script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
354
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
355 <script type="text/javascript">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
356 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
357 * Returns the string representation of the number.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
358 * @param pValue {Float} The number to process.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
359 * @return {String} The string representation (example: 12856892.11111 => 12,856,892.11).
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
360 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
361 var numberDisplay = function( pValue ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
362 var new_val = "" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
363 if( ("" + pValue + "").indexOf(".") != -1 ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
364 new_val = pValue.toFixed(2).replace(/(\d)(?=(\d{3})+\b)/g, '$1,');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
365 } else {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
366 new_val = pValue.toFixed().replace(/(\d)(?=(\d{3})+\b)/g, '$1,');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
367 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
368 return new_val ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
369 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
370
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
371 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
372 * Returns the HTML table representation of the data.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
373 * @param pTitle {String} The title of the table.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
374 * @param pCategories {Array} The title of each column.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
375 * @param pData {Array} 2D matrix with row and column data.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
376 * @return {String} The HTML table representation.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
377 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
378 var table = function( pTitle, pCategories, pData ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
379 // Header
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
380 var table_header = '' ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
381 var table_header_line = "" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
382 for(var idx = 0 ; idx < pCategories.length ; idx++){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
383 table_header_line += " <th>" + pCategories[idx] + "</th>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
384 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
385 table_header += " <tr>\n" + table_header_line + " </tr>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
386 table_header = " <thead>\n" + table_header + " </thead>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
387
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
388 // Body
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
389 var table_body = '' ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
390 for(var data_idx = 0 ; data_idx < pData.length ; data_idx++){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
391 var table_body_row = "" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
392 for(var category_idx = 0 ; category_idx < pCategories.length ; category_idx++){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
393 if( typeof pData[data_idx][category_idx] === "number" ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
394 table_body_row += " <td>" + numberDisplay(pData[data_idx][category_idx]) + "</td>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
395 } else {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
396 table_body_row += " <td>" + pData[data_idx][category_idx] + "</td>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
397 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
398 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
399 table_body += " <tr>\n" + table_body_row + " </tr>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
400 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
401 table_body = " <tbody>\n" + table_body + " </tbody>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
402
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
403 return '<table class="table table-striped table-bordered">\n' + table_header + table_body + "</table>\n" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
404 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
405
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
406 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
407 * Returns hash use to init HightChart object (without 'type').
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
408 * @param pTitle {String} The title of the chart.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
409 * @param pXTitle {String} The xAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
410 * @param pYTitle {String} The yAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
411 * @param pXCategories {Array} The title of each category (x scale labels).
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
412 * @param pData {Array} The HightChart series.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
413 * @return {Hash} The hash.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
414 * @warning This method use HightChart xAxis.categories.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
415 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
416 var chartplot = function( pTitle, pXTitle, pYTitle, pXCategories, pData ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
417 var chart = {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
418 title: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
419 text: pTitle
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
420 },
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
421 xAxis: {},
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
422 yAxis: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
423 title: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
424 text: pYTitle
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
425 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
426 },
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
427 series: pData,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
428 credits: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
429 enabled: false
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
430 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
431 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
432 if( pXCategories != null ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
433 chart['xAxis']['categories'] = pXCategories ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
434 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
435 if( pXTitle != null ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
436 chart['xAxis']['title'] = { text: pXTitle } ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
437 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
438 if( pData.length <= 1 ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
439 chart['legend'] = {'enabled': false};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
440 } else {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
441 chart['legend'] = {'enabled': true};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
442 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
443 return chart ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
444 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
445 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
446 * Returns hash use to init HightChart boxplot.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
447 * @param pTitle {String} The title of the chart.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
448 * @param pXTitle {String} The xAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
449 * @param pYTitle {String} The yAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
450 * @param pXCategories {Array} x scale labels.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
451 * @param pData {Array} The HightChart series.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
452 * @return {Hash} Parameters to use in Highchart's constructor.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
453 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
454 var boxplot_param = function(pTitle, pXTitle, pYTitle, pXCategories, pData) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
455 var chart = chartplot( pTitle, null, pYTitle, pXCategories, pData );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
456 chart['chart'] = { type: 'boxplot', zoomType: 'y',selectionMarkerFill: "rgb(222,159,115,0.25)" };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
457 chart['yAxis']['min'] = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
458 chart['exporting'] = {buttons: {contextButton: { symbol: 'download' }}};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
459 chart['navigation'] = {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
460 buttonOptions: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
461 theme: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
462 r: 4,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
463 fill:'#8EADAC',
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
464 states: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
465 hover: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
466 fill: 'rgb(100, 138, 137)',
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
467 stroke:'#8EADAC'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
468 },
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
469 select: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
470 stroke: '#8EADAC',
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
471 fill: 'rgb(100, 138, 137)',
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
472 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
473 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
474 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
475 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
476 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
477 return chart ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
478 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
479
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
480 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
481 * Returns hash use to init HightChart area.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
482 * @param pTitle {String} The title of the chart.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
483 * @param pXTitle {String} The xAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
484 * @param pYTitle {String} The yAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
485 * @param pXCategories {Array} x scale labels.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
486 * @param pData {Array} The HightChart series.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
487 * @return {Hash} Parameters to use in Highchart's constructor.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
488 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
489 var areaplot_param = function(pTitle, pXTitle, pYTitle, pXCategories, pData) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
490 var x_max = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
491 for( var series_idx = 0 ; series_idx < pData.length ; series_idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
492 for( var val_idx = 0 ; val_idx < pData[series_idx].length ; val_idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
493 x_max = Math.max(parseInt(pData[series_idx][val_idx][0]), parseInt(x_max));
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
494 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
495 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
496 var chart = chartplot( pTitle, pXTitle, pYTitle, pXCategories, pData );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
497 chart['chart'] = {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
498 type: 'area',
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
499 zoomType:"x",
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
500 selectionMarkerFill: "rgb(222,159,115,0.25)"
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
501 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
502 chart['xAxis']['tickInterval'] = Math.max(1, parseInt(x_max/10));
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
503 chart['plotOptions'] = {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
504 area: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
505 marker: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
506 enabled: true,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
507 symbol: 'circle',radius:4,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
508 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
509 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
510 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
511 return chart ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
512 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
513
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
514 /**
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
515 * Returns hash use to init HightChart line.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
516 * @param pTitle {String} The title of the chart.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
517 * @param pXTitle {String} The xAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
518 * @param pYTitle {String} The yAxis title.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
519 * @param pXCategories {Array} x scale labels.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
520 * @param pData {Array} The HightChart series.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
521 * @return {Hash} Parameters to use in Highchart's constructor.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
522 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
523 var lineplot_param = function(pTitle, pXTitle, pYTitle, pXCategories, pData) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
524 var chart = chartplot( pTitle, pXTitle, pYTitle, pXCategories, pData );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
525 chart['chart'] = {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
526 type: 'line'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
527 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
528 chart['yAxis']['min'] = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
529 chart['legend'] = {'enabled': true};
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
530 chart['plotOptions'] = {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
531 area: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
532 marker: {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
533 enabled: true,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
534 symbol: 'circle',radius:4,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
535 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
536 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
537 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
538 return chart ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
539 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
540
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
541 var get_dispersion = function( values, counts ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
542 var dispersion = new Array();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
543
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
544 // Unstack list
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
545 unstacked_list = new Array();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
546 for( var idx = 0 ; idx < values.length ; idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
547 for( var nb_add = 0 ; nb_add < counts[idx] ; nb_add++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
548 unstacked_list.push( values[idx] );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
549 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
550 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
551
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
552 // Process metrics
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
553 var nb_elt = unstacked_list.length ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
554 dispersion['min'] = unstacked_list[0] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
555 dispersion['max'] = unstacked_list[nb_elt - 1];
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
556 if( nb_elt % 2 == 0 ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
557 dispersion['median'] = unstacked_list[(nb_elt/2) -1] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
558 } else {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
559 dispersion['median'] = (unstacked_list[parseInt((nb_elt/2) -1)] + unstacked_list[parseInt(nb_elt/2)])/2 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
560 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
561 // Deciles
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
562 for( var idx = 1 ; idx <= 9 ; idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
563 if( idx != 5 ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
564 dispersion[idx + '_decile'] = unstacked_list[Math.floor(idx*(nb_elt/10) + 0.5) -1] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
565 } else {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
566 dispersion['5_decile'] = dispersion['median'] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
567 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
568 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
569 // Quartiles
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
570 dispersion['lower_quartile'] = unstacked_list[Math.floor((nb_elt/4) + 0.5) -1] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
571 dispersion['upper_quartile'] = unstacked_list[Math.floor((3*(nb_elt/4)) + 0.5) -1] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
572
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
573 return dispersion ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
574 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
575
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
576 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
577 //
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
578 // Nav templates
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
579 //
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
580 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
581 var cluster_distrib_load = function( container_id ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
582 // Radializes colors
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
583 Highcharts.setOptions({
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
584 colors : ['#8EADAC', '#DE9F73'] ,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
585 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
586 Highcharts.SVGRenderer.prototype.symbols.download = function (x, y, w, h) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
587 var path = [
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
588 // Arrow stem
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
589 'M', x + w * 0.5, y,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
590 'L', x + w * 0.5, y + h * 0.7,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
591 // Arrow head
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
592 'M', x + w * 0.3, y + h * 0.5,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
593 'L', x + w * 0.5, y + h * 0.7,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
594 'L', x + w * 0.7, y + h * 0.5,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
595 // Box
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
596 'M', x, y + h * 0.9,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
597 'L', x, y + h,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
598 'L', x + w, y + h,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
599 'L', x + w, y + h * 0.9
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
600 ];
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
601 return path;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
602 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
603 /* Radial gradient ?*/
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
604 /*
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
605 Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function (color) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
606 return {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
607 radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
608 stops: [
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
609 [0, color],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
610 [1, Highcharts.Color(color).brighten(-0.1).get('rgb')] // darken
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
611 ]
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
612 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
613 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
614 */
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
615 var dispersion = get_dispersion( clusters_sizes, series[0]['data'] );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
616
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
617 // Nb clusters and nb sequences
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
618 var nb_clusters = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
619 var nb_sequences = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
620 for( var clusters_sizes_idx = 0 ; clusters_sizes_idx < clusters_sizes.length ; clusters_sizes_idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
621 nb_clusters += series[0]['data'][clusters_sizes_idx] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
622 nb_sequences += ( series[0]['data'][clusters_sizes_idx] * clusters_sizes[clusters_sizes_idx] );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
623 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
624 $('#nb-clusters').append( '' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
625 '<div class="circle">' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
626 ' <span class="circle-title">Clusters</span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
627 ' <br />' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
628 ' <span class="circle-value">' + numberDisplay(nb_clusters) + '</span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
629 '</div>'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
630 );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
631 $('#nb-sequences').append( '' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
632 '<div class="circle">' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
633 ' <span class="circle-title">Sequences</span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
634 ' <br />' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
635 ' <span class="circle-value">' + numberDisplay(nb_sequences) + '</span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
636 '</div>'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
637 );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
638
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
639 // Boxplot
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
640 var boxplot_series = [{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
641 'name': "Cluster size",
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
642 'data': [[dispersion['min'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
643 dispersion['lower_quartile'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
644 dispersion['median'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
645 dispersion['upper_quartile'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
646 dispersion['max']]]
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
647 }];
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
648 $('#' + container_id).append( '<div id="dispersion"></div>' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
649 $('#dispersion').append( '<h2 class="pb-2 mt-4 mb-2 border-bottom">Clusters size summary</h2>');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
650 $('#dispersion').append( '<p>The cluster size is the sum of the abundances of the sequences grouped in a cluster.</p>');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
651 $('#dispersion').append('<div id="twofigs" class="row"></div>');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
652 $('#twofigs').append( '<div class="col-12 col-md-8"" style="height:100%;">' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
653 $('#dispersion div').last().highcharts( boxplot_param("Clusters size distribution", null, "Cluster size", ["All"], boxplot_series) );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
654
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
655 // Deciles
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
656 var decile_data = [
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
657 ["Min", dispersion['min']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
658 [1, dispersion['1_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
659 [2, dispersion['2_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
660 [3, dispersion['3_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
661 [4, dispersion['4_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
662 ["Median", dispersion['5_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
663 [6, dispersion['6_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
664 [7, dispersion['7_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
665 [8, dispersion['8_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
666 [9, dispersion['9_decile']],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
667 ["Max", dispersion['max']]
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
668 ];
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
669 $('#twofigs').append( '<div class="col-12 col-md-4"">' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
670 $('#dispersion div').last().append( table("Clusters size distribution (decile)", ["Decile", "Value"], decile_data) );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
671
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
672 // Details
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
673 var cluster_sum = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
674 for( var idx=0 ; idx < clusters_sizes.length ; idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
675 cluster_sum += series[0]['data'][idx] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
676 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
677 var distrib_data = new Array();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
678 for( var idx=0 ; idx < clusters_sizes.length ; idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
679 var cluster_prct = Math.round((series[0]['data'][idx]/cluster_sum)*10000)/100 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
680 distrib_data.push([ clusters_sizes[idx], series[0]['data'][idx], cluster_prct ]);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
681 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
682 $('#dispersion').append( '<h2 class="pb-2 mt-4 mb-2 border-bottom">Clusters size details</h2>');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
683 $('#dispersion').append( '<div class="col-md-12"></div>' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
684 //$('#dispersion div').last().append( '<h1 class="page-header">Clusters size details<h1/>' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
685 $('#dispersion div').last().append( table("Clusters size", ["Cluster size", "Number of cluster", "% of all clusters"], distrib_data) );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
686 $('#dispersion table').last().prop( 'id', 'dispersion-table' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
687 $('#' + container_id + ' table').last().DataTable({
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
688 dom: "<'#dispersion-csv-export'><'row'<'col-sm-5'l><'col-sm-7'f>>" +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
689 "<'row'<'col-sm-12'tr>>" +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
690 "<'row'<'col-sm-5'i><'col-sm-7'p>>"
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
691 //"sDom": '<"top"<"#dispersion-csv-export"><"clear">lf>rt<"bottom"ip><"clear">'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
692 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
693 $('#dispersion-csv-export').addClass( 'dataTables_filter' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
694 $('#dispersion-csv-export').html( '<button class="btn"><span class="fa fa-download" aria-hidden="true"> CSV</span></button>' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
695 $('#dispersion-csv-export').datatableExport({
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
696 'table_id': "dispersion-table"
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
697 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
698 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
699
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
700 var sample_table_load = function( container_id ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
701 var table_data = new Array();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
702 for( sample in samples_distrib ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
703 table_data.push([
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
704 sample,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
705 samples_distrib[sample]['shared_observations'] + samples_distrib[sample]['own_observations'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
706 samples_distrib[sample]['shared_observations'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
707 samples_distrib[sample]['own_observations'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
708 samples_distrib[sample]['shared_seq'] + samples_distrib[sample]['own_seq'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
709 samples_distrib[sample]['shared_seq'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
710 samples_distrib[sample]['own_seq'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
711 ])
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
712 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
713 $('#' + container_id).html( table("Samples information", ["Sample", "Total clusters", "Shared clusters", "Own clusters", "Total sequences", "Shared sequences", "Own sequences"], table_data) );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
714 $('#' + container_id + ' table').prop( 'id', 'samples-table' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
715 $('#' + container_id + ' table').DataTable({
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
716 dom: "<'#samples-csv-export'><'row'<'col-sm-5'l><'col-sm-7'f>>" +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
717 "<'row'<'col-sm-12'tr>>" +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
718 "<'row'<'col-sm-5'i><'col-sm-7'p>>"
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
719 //"sDom": '<"top"<"#samples-csv-export"><"clear">lf>rt<"bottom"ip><"clear">'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
720 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
721 $('#samples-csv-export').addClass( 'dataTables_filter' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
722 $('#samples-csv-export').html( '<button class="btn"><span class="fa fa-download" aria-hidden="true"> CSV</span></button>' );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
723 $('#samples-csv-export').datatableExport({
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
724 'table_id': "samples-table"
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
725 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
726 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
727
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
728 var hierarchical_clustering_load = function( container_id ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
729 var tree = Node.fromNewick( newick );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
730 var leaves_names = tree.getLeavesNames();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
731 var leaf_name_length = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
732 for( var idx = 0 ; idx < leaves_names.length ; idx++ ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
733 leaf_name_length = Math.max( leaf_name_length, leaves_names[idx].length );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
734 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
735 var width = tree.maxDepth() * 95 + (leaf_name_length * 8) ; // nb_link * width_link + text_length
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
736 var height = 50 + tree.nbLeaves() * 40 ; //margin_top + nb_terminal_nodes + height_nodes
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
737
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
738 // Display tree
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
739 linkage_data = tree.toJson();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
740 d3_tree = null ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
741 diagonal = null ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
742 svg_layout = null ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
743 node_id = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
744
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
745 d3_tree = d3.layout.cluster()
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
746 .size([height, width]);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
747
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
748 diagonal = d3.svg.diagonal()
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
749 .projection(function(d) { return [d.y, d.x]; });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
750 $('#' + container_id).append('<div style="margin-left:auto;margin-right:auto;"></div>');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
751 svg_layout = d3.select('#' + container_id + ' div').append("svg:svg")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
752 .attr("width", width)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
753 .attr("height", height)
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
754 .append("svg:g")
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
755 .attr("transform", "translate(20,20)");
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
756
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
757 linkage_data.x0 = height / 2;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
758 linkage_data.y0 = 0;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
759
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
760 update_linkage_nodes(linkage_data);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
761
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
762 // Display warnings
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
763 var excluded_samples = $.grep(
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
764 Object.keys(samples_distrib),
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
765 function(el){ return $.inArray(el, leaves_names) == -1 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
766 );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
767 if( excluded_samples.length > 0 ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
768 $('#' + container_id).append( '' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
769 '<div id="hc-warning" class="alert alert-warning alert-dismissible">' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
770 ' <span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
771 ' <span class="glyphicon glyphicon-exclamation-sign"></span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
772 ' Excluded because they have no sequence: ' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
773 ' </span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
774 ' <span>' + excluded_samples.sort().join(", ") + '</span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
775 '</div>'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
776 );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
777 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
778
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
779 // Display newick
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
780 $('#' + container_id).append( '' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
781 '<div id="hc-newick">' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
782 ' <span class="badge badge-primary label-badge">Newick</span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
783 ' <span>' + newick + '</span>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
784 '</div>'
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
785 );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
786 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
787
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
788 var sequence_distrib_load = function( container_id ) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
789 var series_cumulative = new Array() ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
790 for( var series_idx = 0 ; series_idx < series.length ; series_idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
791 series_cumulative.push({
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
792 'name': series[series_idx]['name'],
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
793 'data': new Array(),
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
794 'pointStart': 1
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
795 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
796 var sum = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
797 var previous_cumulative_count = 0 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
798 for( var val_idx = 0 ; val_idx < series[series_idx]['data'].length ; val_idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
799 var current_count = series[series_idx]['data'][val_idx] * clusters_sizes[val_idx] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
800 var cumulative_count = previous_cumulative_count + current_count ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
801 series_cumulative[series_idx]['data'].push( [clusters_sizes[val_idx], cumulative_count] );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
802 previous_cumulative_count = cumulative_count ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
803 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
804 sum_series[series[series_idx]['name']] = previous_cumulative_count ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
805 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
806 for( var series_idx = 0 ; series_idx < series.length ; series_idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
807 for( var val_idx = 0 ; val_idx < series[series_idx]['data'].length ; val_idx++ ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
808 var current_prct = (series_cumulative[series_idx]['data'][val_idx][1] / sum_series[series[series_idx]['name']])*100 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
809 series_cumulative[series_idx]['data'][val_idx][1] = Math.round(current_prct*100)/100 ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
810 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
811 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
812 var seq_by_depth = areaplot_param("Cumulative sequences proportion by cluster size", "Cluster size", "% sequences", null, series_cumulative);
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
813 seq_by_depth['tooltip'] = {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
814 formatter:function() {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
815 tooltip_head = '<b>Clusters with size <= ' + numberDisplay(this.x) + '</b>' ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
816 tooltip_body = '' ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
817 for( var i=0 ; i<this.points.length ; i++) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
818 var pcnt = (this.points[i].point.y / sum_series[this.points[i].series.name]) * 100;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
819 tooltip_body += '<tr>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
820 '<td style="color:' + this.points[i].series.color +'">' + this.points[i].series.name + ' : </td>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
821 '<td> ' + this.points[i].point.y + '% </td>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
822 '<td> sequences</td>' +
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
823 '</tr>' ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
824 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
825 return tooltip_head + '<table>' + tooltip_body + '</table>' ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
826 },
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
827 shared: true,
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
828 useHTML: true
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
829 };
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
830 $('#' + container_id).append('<div></div>');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
831 $('#' + container_id).highcharts( seq_by_depth );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
832 $('#' + container_id).append('<p class="graph-nb">N.B.: Select area to zoom in.</p>');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
833 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
834
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
835
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
836 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
837 //
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
838 // Data
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
839 //
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
840 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
841 var clusters_sizes = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15] ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
842 var series = [{
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
843 'name': "All",
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
844 'data': [2, 2, 5, 8, 6, 8, 4, 7, 3, 1, 3, 1]
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
845 }];
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
846 var sum_series = new Array() ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
847 var samples_distrib = {"01_subsample": {"shared_seq": 92, "shared_observations": 36, "own_seq": 8, "own_observations": 3}, "02_subsample": {"shared_seq": 90, "shared_observations": 37, "own_seq": 10, "own_observations": 3}, "03_subsample": {"shared_seq": 99, "shared_observations": 40, "own_seq": 1, "own_observations": 1}} ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
848 var newick = "((01_subsample,(02_subsample,03_subsample):0.410):0.470);" ;
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
849
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
850
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
851 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
852 //
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
853 // Main
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
854 //
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
855 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
856 $(function() {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
857 // Remove alert
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
858 $('#js-alert').remove();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
859 $('#content').removeClass("hidden");
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
860
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
861 // Load active tab
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
862 cluster_distrib_load( "cluster-distrib" );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
863
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
864 // Add tab listener
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
865 $('.nav-tabs a').click(function (e) {
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
866 e.preventDefault();
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
867 $(this).tab('show');
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
868 if( $(this).attr('href') == "#sequence-distrib" && $('#sequence-distrib').hasClass('disabled') ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
869 $('#sequence-distrib').removeClass("disabled");
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
870 sequence_distrib_load( "sequence-distrib" );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
871 } else if( $(this).attr('href') == "#samples-distrib" && $('#samples-distrib').hasClass('disabled') ){
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
872 $('#samples-distrib').removeClass("disabled");
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
873 sample_table_load( "samples-distrib-table" );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
874 hierarchical_clustering_load( "samples-distrib-hc" );
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
875 }
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
876 })
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
877 });
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
878 </script>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
879 </head>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
880 <body>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
881 <p id="js-alert" class="alert alert-warning">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
882 javascript is needed to display data.<br />
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
883 If you try to view this data on galaxy please contact your administrator to authorise javascript or download the file to view.
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
884 </p>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
885
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
886 <div id="content" class="hidden">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
887 <ul class="nav nav-tabs">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
888 <li class="nav-item active"><a class="nav-link active" href="#cluster-distrib">Clusters distribution</a></li>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
889 <li class="nav-item active"><a class="nav-link" href="#sequence-distrib">Sequences distribution</a></li>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
890 <li class="nav-item active"><a class="nav-link" href="#samples-distrib">Samples distribution</a></li>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
891 </ul>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
892 <div class="tab-content">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
893 <div id="cluster-distrib" role="tabpanel" class="tab-pane active">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
894 <div class="row">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
895 <div class="col-md-2"></div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
896 <div id="nb-clusters" class="col-sm-6 col-md-4"></div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
897 <div id="nb-sequences" class="col-sm-6 col-md-4"></div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
898 <div class="col-md-2"></div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
899 </div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
900 </div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
901 <div id="sequence-distrib" role="tabpanel" class="tab-pane disabled"></div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
902 <div id="samples-distrib" role="tabpanel" class="tab-pane disabled">
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
903 <div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
904 <h2 class="pb-2 mt-4 mb-2 border-bottom">Sequences count</h2>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
905 <div id="samples-distrib-table"></div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
906 </div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
907 <div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
908 <h2 class="pb-2 mt-4 mb-2 border-bottom">Hierarchical clustering</h2>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
909 <div id="samples-distrib-hc"></div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
910 </div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
911 </div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
912 </div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
913 </div>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
914 </body>
dfaf556d2a20 planemo upload for repository https://github.com/geraldinepascal/FROGS-wrappers/ commit 281ada90f8ce8630844ca000aa676ed55901661b-dirty
oinizan
parents:
diff changeset
915 </html>