Projekt

Obecné

Profil

Stáhnout (5.79 KB) Statistiky
| Větev: | Tag: | Revize:
1 b4b32b0e Štěpán Červenka
{
2
  "data": [
3
    {},
4
    {},
5
    {},
6 e7b16d72 Štěpán Červenka
    {},
7 b4b32b0e Štěpán Červenka
    {
8
      "name": "ranks",
9
      "source": "table",
10
      "transform": [
11
        {
12
          "type": "window",
13
          "sort": {
14
            "field": "dateTime",
15
            "order": "ascending"
16
          },
17
          "ops": [
18
            "rank"
19
          ],
20
          "fields": [
21
            "value"
22
          ],
23
          "as": [
24
            "rank"
25
          ]
26
        },
27
        {
28
          "type": "formula",
29
          "expr": "datum.rank + 1",
30
          "as": "nextRank"
31
        }
32
      ]
33
    },
34
    {
35
      "name": "lookup",
36
      "source": "ranks",
37
      "transform": [
38
        {
39
          "type": "lookup",
40
          "from": "ranks",
41
          "key": "rank",
42
          "fields": [
43
            "nextRank"
44
          ],
45
          "as": [
46
            "tempObj"
47
          ]
48
        },
49
        {
50
          "type": "formula",
51
          "expr": "(datum.tempObj == null || datum.tempObj.dateTime - datum.dateTime > maxTimeDifference) ? null : datum.tempObj",
52
          "as": "obj"
53
        }
54
      ]
55
    }
56
  ],
57
  "marks": [
58
    {
59
      "scales": [
60
        {},
61
        {
62
          "name": "yDetail",
63
          "type": "linear",
64
          "range": [390, 0],
65
          "domain": {
66
            "fields": [
67
              {"data": "range", "field": "valueMax"},
68
              {"data":  "table", "field": "value"}
69
            ]
70
          },
71
          "nice": true, "zero": true
72
        }
73
      ],
74
      "axes": [
75
        {},
76
        {"orient": "left", "scale": "yDetail"}
77
      ],
78
      "marks": [
79
        {
80
          "marks": [
81
            {
82
              "type": "symbol",
83
              "from": {"data":"lookup"},
84
              "encode": {
85
                "enter": {
86
                  "tooltip": {
87
                    "signal": "{title: timeFormat(datum.dateTime, '%A, %e. %B %Y, %X') }"
88
                  }},
89
                "update": {
90
                  "shape": {"value": "circle"},
91
                  "size": {"value": 30},
92
                  "x": {"scale": "xDetail", "field": "dateTime"},
93
                  "y": {"scale": "yDetail", "field": "value"},
94
                  "color": {"value": "both"},
95
                  "strokeWidth": {"value": 4},
96
                  "fill": {"value": "steelblue"}
97
                },
98
                "hover": {
99
                  "fill": {"value": "red"},
100
                  "size": {"value": 60}
101
                }
102
              }
103
            },
104
            {
105
              "type": "rule",
106
              "from": {
107
                "data": "lookup"
108
              },
109
              "encode": {
110
                "update": {
111
                  "x": {
112
                    "scale": "xDetail",
113
                    "field": "dateTime"
114
                  },
115
                  "x2": [
116
                    {
117
                      "test": "isValid(datum.obj)",
118
                      "scale": "xDetail",
119
                      "field": "obj.dateTime"
120
                    },
121
                    {
122
                      "scale": "xDetail",
123
                      "field": "dateTime"
124
                    }
125
                  ],
126
                  "y": {
127
                    "scale": "yDetail",
128
                    "field": "value"
129
                  },
130
                  "y2": [
131
                    {
132
                      "test": "isValid(datum.obj)",
133
                      "scale": "yDetail",
134
                      "field": "obj.value"
135
                    },
136
                    {
137
                      "scale": "yDetail",
138
                      "field": "value"
139
                    }
140
                  ],
141
                  "stroke": {
142
                    "value": "steelblue"
143
                  },
144
                  "strokeWidth": {
145
                    "value": 1
146
                  }
147
                }
148
              }
149
            }
150
          ]
151
        }
152
      ]
153
    },
154
    {
155
      "signals": [
156
        {
157
          "value": 0,
158
          "on": [
159
            {},
160
            {
161
              "events": "@overview:mousedown",
162
              "update": "[x(), x()]"
163
            },
164
            {
165
              "events": "[@overview:mousedown, window:mouseup] > window:mousemove!",
166
              "update": "[brush[0], clamp(x(), 0, width)]"
167
            }
168
          ]
169
        }
170
      ],
171
      "marks": [
172
        {},
173
        {},
174
        {},
175
        {
176
          "type": "symbol",
177
          "from": {"data":"table"},
178
          "encode": {
179
            "update": {
180
              "shape": {"value": "circle"},
181
              "size": {"value": 10},
182
              "x": {"scale": "xOverview", "field": "dateTime"},
183
              "y": {"scale": "yOverview", "field": "value"},
184
              "color": {"value": "both"},
185
              "strokeWidth": {"value": 4}
186
            }
187
          }
188
        },
189
        {
190
          "type": "rule",
191
          "from": {
192
            "data": "lookup"
193
          },
194
          "encode": {
195
            "update": {
196
              "x": {
197
                "scale": "xOverview",
198
                "field": "dateTime"
199
              },
200
              "x2": [
201
                {
202
                  "test": "isValid(datum.obj)",
203
                  "scale": "xOverview",
204
                  "field": "obj.dateTime"
205
                },
206
                {
207
                  "scale": "xOverview",
208
                  "field": "dateTime"
209
                }
210
              ],
211
              "y": {
212
                "scale": "yOverview",
213
                "field": "value"
214
              },
215
              "y2": [
216
                {
217
                  "test": "isValid(datum.obj)",
218
                  "scale": "yOverview",
219
                  "field": "obj.value"
220
                },
221
                {
222
                  "scale": "yOverview",
223
                  "field": "value"
224
                }
225
              ],
226
              "stroke": {
227
                "value": "steelblue"
228
              },
229
              "strokeWidth": {
230
                "value": 1
231
              }
232
            }
233
          }
234
        }
235
      ]
236
    }
237
  ]
238
}