Projekt

Obecné

Profil

Stáhnout (2.26 KB) Statistiky
| Větev: | Tag: | Revize:
1 9fa751ff Štěpán Červenka
{
2
  "$schema": "https://vega.github.io/schema/vega/v5.json",
3
  "description": "A basic bar chart example, with value labels shown upon mouse hover.",
4
  "width": 400,
5
  "height": 200,
6
  "padding": 5,
7
8
  "data": [
9
    {
10
      "name": "table",
11
      "values": [
12
        {"category": "A", "amount": 28},
13
        {"category": "B", "amount": 55},
14
        {"category": "C", "amount": 43},
15
        {"category": "D", "amount": 91},
16
        {"category": "E", "amount": 81},
17
        {"category": "F", "amount": 53},
18
        {"category": "G", "amount": 19},
19
        {"category": "H", "amount": 87}
20
      ]
21
    }
22
  ],
23
24
  "signals": [
25
    {
26
      "name": "tooltip",
27
      "value": {},
28
      "on": [
29
        {"events": "rect:mouseover", "update": "datum"},
30
        {"events": "rect:mouseout",  "update": "{}"}
31
      ]
32
    }
33
  ],
34
35
  "scales": [
36
    {
37
      "name": "xscale",
38
      "type": "band",
39
      "domain": {"data": "table", "field": "category"},
40
      "range": "width",
41
      "padding": 0.05,
42
      "round": true
43
    },
44
    {
45
      "name": "yscale",
46
      "domain": {"data": "table", "field": "amount"},
47
      "nice": true,
48
      "range": "height"
49
    }
50
  ],
51
52
  "axes": [
53
    { "orient": "bottom", "scale": "xscale" },
54
    { "orient": "left", "scale": "yscale" }
55
  ],
56
57
  "marks": [
58
    {
59
      "type": "rect",
60
      "from": {"data":"table"},
61
      "encode": {
62
        "enter": {
63
          "x": {"scale": "xscale", "field": "category"},
64
          "width": {"scale": "xscale", "band": 1},
65
          "y": {"scale": "yscale", "field": "amount"},
66
          "y2": {"scale": "yscale", "value": 0}
67
        },
68
        "update": {
69
          "fill": {"value": "steelblue"}
70
        },
71
        "hover": {
72
          "fill": {"value": "red"}
73
        }
74
      }
75
    },
76
    {
77
      "type": "text",
78
      "encode": {
79
        "enter": {
80
          "align": {"value": "center"},
81
          "baseline": {"value": "bottom"},
82
          "fill": {"value": "#333"}
83
        },
84
        "update": {
85
          "x": {"scale": "xscale", "signal": "tooltip.category", "band": 0.5},
86
          "y": {"scale": "yscale", "signal": "tooltip.amount", "offset": -2},
87
          "text": {"signal": "tooltip.amount"},
88
          "fillOpacity": [
89
            {"test": "datum === tooltip", "value": 0},
90
            {"value": 1}
91
          ]
92
        }
93
      }
94
    }
95
  ]
96
}