Charts / CH-DST-08
CH-DST-08 . family DST

VIOLIN

mirrored density silhouette per category with a median tick. Needs: categories with a DECLARED density curve (grid + densities) and median.

distribution

DL-01 AGRAW
Gate B hides two clusters behind one median Gate A median 15 days Gate B 15 Gate C 20 0 10 20 30 40days Source: document register, H1; KDE bandwidth 2.5 days

Use when

  • statistical audiences comparing multimodal shapes that a box hides
  • the density curve is already computed and declared, with its bandwidth

Do not use when

  • general audiences (violins are widely misread: prefer CH-DST-04 or
  • CH-DST-03)
  • small samples (a violin smooths noise into false shape)

See instead

Alternatives

  • CH-DST-04 (quartile summary)
  • CH-DST-03 (raw values)
  • CH-DST-09 (one unmirrored curve)

Rules

  • densities are supplied, never computed silently; the source line
  • states the bandwidth
  • global normalization: silhouette heights comparable across rows
  • median tick spans the silhouette at its position
  • shared zero-based value scale

Never do this

  • violins for general audiences
  • silent KDE with hidden bandwidth
  • per-row normalization sold as comparable
  • fewer than ~30 underlying values

QA before delivering

  • densities declared with bandwidth in the source
  • medians in range
  • global normalization
  • unit once
  • source present

Data shape

titleaction title with a number
sourcebottom-left always, must state the density bandwidth
uniton first median label
categoriesarray of {label, grid: ascending values, density, median}
notedensities are DECLARED inputs; OVP never runs a silent KDE
Sample data (golden)
{
  "title": "Gate B hides two clusters behind one median",
  "eyebrow": "REVIEW TIME SHAPES",
  "source": "Source: document register, H1; KDE bandwidth 2.5 days",
  "unit": "days",
  "categories": [
    {
      "label": "Gate A",
      "grid": [
        0,
        5,
        10,
        15,
        20,
        25,
        30,
        35,
        40
      ],
      "density": [
        1,
        3,
        8,
        14,
        9,
        4,
        2,
        1,
        0
      ],
      "median": 15
    },
    {
      "label": "Gate B",
      "grid": [
        0,
        5,
        10,
        15,
        20,
        25,
        30,
        35,
        40
      ],
      "density": [
        6,
        10,
        4,
        2,
        3,
        5,
        9,
        6,
        1
      ],
      "median": 15
    },
    {
      "label": "Gate C",
      "grid": [
        0,
        5,
        10,
        15,
        20,
        25,
        30,
        35,
        40
      ],
      "density": [
        2,
        4,
        6,
        8,
        8,
        8,
        6,
        4,
        2
      ],
      "median": 20
    }
  ]
}