code: def movies_histogram_spec(agg="count"):
      return json.loads(
          """
  {
    "$schema": "https://vega.github.io/schema/vega/v5.json",
    "background": "white",
    "padding": 5,
    "width": 200,
    "height": 200,
    "style": "cell",
    "data": [
      {
        "name": "source_0",
        "url": "data/movies.json",
        "format": {"type": "json"},
        "transform": [
          {
            "type": "extent",
            "field": "IMDB Rating",
            "signal": "bin_maxbins_10_IMDB_Rating_extent"
          },
          {
            "type": "bin",
            "field": "IMDB Rating",
            "as": [
              "bin_maxbins_10_IMDB Rating",
              "bin_maxbins_10_IMDB Rating_end"
            ],
            "signal": "bin_maxbins_10_IMDB_Rating_bins",
            "extent": {"signal": "bin_maxbins_10_IMDB_Rating_extent"},
            "maxbins": 10
          },
          {
            "type": "aggregate",
            "groupby": [
              "bin_maxbins_10_IMDB Rating",
              "bin_maxbins_10_IMDB Rating_end"
            ],
            "ops": ["""
          + '"'
          + agg
          + '"'
          + r"""],
            "fields": ["Worldwide Gross"],
            "as": ["median_Worldwide Gross"]
          },
          {
            "type": "filter",
            "expr": "isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) && isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) && isValid(datum[\"median_Worldwide Gross\"]) && isFinite(+datum[\"median_Worldwide Gross\"])"
          }
        ]
      }
    ],
    "marks": [
      {
        "name": "marks",
        "type": "rect",
        "style": ["bar"],
        "from": {"data": "source_0"},
        "encode": {
          "update": {
            "fill": {"value": "#4c78a8"},
            "ariaRoleDescription": {"value": "bar"},
            "description": {
              "signal": "\"IMDB Rating (binned): \" + (!isValid(datum[\"bin_maxbins_10_IMDB Rating\"]) || !isFinite(+datum[\"bin_maxbins_10_IMDB Rating\"]) ? \"null\" : format(datum[\"bin_maxbins_10_IMDB Rating\"], \"\") + \" – \" + format(datum[\"bin_maxbins_10_IMDB Rating_end\"], \"\")) + \"; Median of Worldwide Gross: \" + (format(datum[\"median_Worldwide Gross\"], \"\"))"
            },
            "x2": {
              "scale": "x",
              "field": "bin_maxbins_10_IMDB Rating",
              "offset": 1
            },
            "x": {"scale": "x", "field": "bin_maxbins_10_IMDB Rating_end"},
            "y": {"scale": "y", "field": "median_Worldwide Gross"},
            "y2": {"scale": "y", "value": 0}
          }
        }
      }
    ],
    "scales": [
      {
        "name": "x",
        "type": "linear",
        "domain": {
          "signal": "[bin_maxbins_10_IMDB_Rating_bins.start, bin_maxbins_10_IMDB_Rating_bins.stop]"
        },
        "range": [0, {"signal": "width"}],
        "bins": {"signal": "bin_maxbins_10_IMDB_Rating_bins"},
        "zero": false
      },
      {
        "name": "y",
        "type": "linear",
        "domain": {"data": "source_0", "field": "median_Worldwide Gross"},
        "range": [{"signal": "height"}, 0],
        "nice": true,
        "zero": true
      }
    ],
    "axes": [
      {
        "scale": "y",
        "orient": "left",
        "gridScale": "x",
        "grid": true,
        "tickCount": {"signal": "ceil(height/40)"},
        "domain": false,
        "labels": false,
        "aria": false,
        "maxExtent": 0,
        "minExtent": 0,
        "ticks": false,
        "zindex": 0
      },
      {
        "scale": "x",
        "orient": "bottom",
        "grid": false,
        "title": "IMDB Rating (binned)",
        "labelFlush": true,
        "labelOverlap": true,
        "tickCount": {"signal": "ceil(width/10)"},
        "zindex": 0
      },
      {
        "scale": "y",
        "orient": "left",
        "grid": false,
        "title": "Median of Worldwide Gross",
        "labelOverlap": true,
        "tickCount": {"signal": "ceil(height/40)"},
        "zindex": 0
      }
    ]
  }"""
      )
  
imports: import pandas
  import pytest
  from pandas import Timestamp, NaT
  import pyarrow
  import vegafusion
  import json
  import polars
  from datetime import date
  import decimal
  import base64
label_desc: Use image node_id 4 for calling a global function with example usage: movies_histogram_spec(agg) and returns: json