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