Bubble Histogram

{
  "$schema": "https://vega.github.io/schema/vega-lite/v5.json",
  "usermeta": {
    "deneb": {
      "build": "1.4.0.0",
      "metaVersion": 1,
      "provider": "vegaLite",
      "providerVersion": "5.4.0"
    },
    "interactivity": {
      "tooltip": true,
      "contextMenu": true,
      "selection": false,
      "highlight": false,
      "dataPointLimit": 50
    },
    "information": {
      "name": "Bubble Histogram",
      "description": "[No Description Provided]",
      "author": "Kerry Kolosko",
      "uuid": "e5417a32-12c5-4d12-a5fc-6eefe46d2985",
      "generated": "2022-10-23T13:41:01.434Z",
      "previewImageBase64PNG": "data:image/png;base64,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"
    },
    "dataset": [
      {
        "key": "__0__",
        "name": "X",
        "description": "",
        "type": "text",
        "kind": "column"
      },
      {
        "key": "__1__",
        "name": "Y",
        "description": "",
        "type": "numeric",
        "kind": "column"
      },
      {
        "key": "__2__",
        "name": "Value",
        "description": "",
        "type": "numeric",
        "kind": "measure"
      }
    ]
  },
  "config": {
    "autosize": {
      "type": "fit",
      "contains": "padding"
    },
    "view": {"stroke": "transparent"}
  },
  "data": {"name": "dataset"},
  "spacing": 15,
  "bounds": "flush",
  "vconcat": [
    {
      "height": 60,
      "width": 350,
      "mark": {
        "type": "bar",
        "width": 15,
        "stroke": null,
        "cornerRadiusEnd": 2,
        "tooltip": true,
        "color": "#2999AA"
      },
      "encoding": {
        "x": {
          "field": "__0__",
          "axis": null
        },
        "y": {
          "field": "__2__",
          "aggregate": "mean",
          "axis": null
        }
      }
    },
    {
      "spacing": 15,
      "bounds": "flush",
      "hconcat": [
        {
          "height": 175,
          "width": 350,
          "mark": {
            "type": "circle",
            "opacity": 0.9,
            "stroke": "transparent",
            "tooltip": true
          },
          "encoding": {
            "y": {
              "field": "__1__",
              "type": "ordinal",
              "sort": "descending",
              "axis": {
                "domain": false,
                "ticks": false,
                "labels": true,
                "labelAngle": 0,
                "labelPadding": 5,
                "titlePadding": 15,
                "labelColor": "black",
                "titleColor": "black",
                "title": "Day →",
                "titleY": 170,
                "titleAlign": "left"
              }
            },
            "x": {
              "field": "__0__",
              "type": "ordinal",
              "axis": {
                "domain": false,
                "ticks": false,
                "labels": true,
                "labelColor": "black",
                "titleColor": "black",
                "titlePadding": 15,
                "title": "Hour →",
                "labelAngle": 0,
                "titleX": 10,
                "titleAlign": "left"
              }
            },
            "size": {
              "aggregate": "sum",
              "field": "__2__",
              "type": "quantitative"
            },
            "color": {
              "aggregate": "sum",
              "field": "__2__",
              "type": "quantitative",
              "scale": {
                "range": [
                  "#2999AA",
                  "orange"
                ]
              },
              "legend": null
            }
          }
        },
        {
          "height": 175,
          "width": 60,
          "mark": {
            "type": "bar",
            "height": 15,
            "stroke": null,
            "cornerRadiusEnd": 2,
            "tooltip": true,
            "color": "#2999AA"
          },
          "encoding": {
            "y": {
              "field": "__1__",
              "axis": null
            },
            "x": {
              "field": "__2__",
              "type": "quantitative",
              "aggregate": "mean",
              "axis": null
            }
          }
        }
      ]
    }
  ]
}

10 comments

  1. Hi Kerry,
    Really amazing chart here.
    I am starting out with Deneb but has been struggling a bit.
    How would you add data point labels to each of the bubbles in this chart? Any help would be greatly appreciated.

  2. Could you please help me to add the data labels at the end of each bar of the histogram?
    I tried reading all the examples and I failed every time I add the code in your template.

    Many thanks
    Manuel

  3. This is very insightful presentation Kerry,

    This first time i am using Deneb.

    Could you please help me with the below questions ?
    1) Do we need previewImageBase64PNG ?

    2) Which Image is that ?

    3) Not sure why top bar is not coming up in my chart .

    Seems like we need some more code using vconcat

  4. Hi Kerry,
    I like this visual very much. The only I struggle with is that the bars are not changing position if I change the order of days (ascending/descending). I hope this is easy to solve.
    Thank you in advance,
    Karlijn

  5. Hi, great work and works perfectly. I have one question. How can I set the background of the Canvas to transparent. Everything I tried didn’t work.

Leave a comment

Your email address will not be published. Required fields are marked *