Skip to content

Statistical Visualizations - Complete Examples ​

This guide provides comprehensive examples for histograms, box plots, density plots, and heatmaps using the DataGlass plugin for Obsidian.


Table of Contents ​

  1. Histograms

  2. Box Plots

  3. Density Plots

  4. Heatmaps


Histograms ​

Histogram: Basic ​

Distribution analysis showing frequency of values in bins.

View Source
data:
  source: [
    {"value": 65}, {"value": 68}, {"value": 72}, {"value": 75}, {"value": 78},
    {"value": 71}, {"value": 74}, {"value": 82}, {"value": 79}, {"value": 86},
    {"value": 92}, {"value": 77}, {"value": 84}, {"value": 89}, {"value": 76},
    {"value": 83}, {"value": 87}, {"value": 94}, {"value": 81}, {"value": 75},
    {"value": 90}, {"value": 73}, {"value": 80}, {"value": 95}, {"value": 71},
    {"value": 85}, {"value": 88}, {"value": 91}, {"value": 74}, {"value": 82},
    {"value": 79}, {"value": 86}, {"value": 92}, {"value": 77}, {"value": 84},
    {"value": 89}, {"value": 76}, {"value": 83}, {"value": 87}, {"value": 94},
    {"value": 81}, {"value": 75}, {"value": 90}, {"value": 73}, {"value": 80},
    {"value": 95}, {"value": 71}, {"value": 85}, {"value": 88}, {"value": 91}
  ]
type: histogram
engine: plot
x: value
y: value
title: Test Score Distribution
width: 600
height: 400
marks:
  - type: rectY
    configuration:
      x: value
      fill: steelblue
      tip: true

Histogram: Custom Binning ​

Control bin widths for better data representation.

View Source
data:
  source: [
    {"age": 22}, {"age": 25}, {"age": 28}, {"age": 31}, {"age": 35},
    {"age": 19}, {"age": 42}, {"age": 38}, {"age": 27}, {"age": 33},
    {"age": 29}, {"age": 48}, {"age": 24}, {"age": 39}, {"age": 36},
    {"age": 52}, {"age": 41}, {"age": 26}, {"age": 34}, {"age": 47},
    {"age": 21}, {"age": 44}, {"age": 37}, {"age": 30}, {"age": 45},
    {"age": 23}, {"age": 49}, {"age": 32}, {"age": 40}, {"age": 46},
    {"age": 20}, {"age": 43}, {"age": 36}, {"age": 29}, {"age": 51},
    {"age": 24}, {"age": 47}, {"age": 33}, {"age": 38}, {"age": 54},
    {"age": 26}, {"age": 50}, {"age": 35}, {"age": 41}, {"age": 55},
    {"age": 28}, {"age": 46}, {"age": 37}, {"age": 44}, {"age": 53}
  ]
type: histogram
engine: plot
x: age
title: Age Distribution (Custom Bins)
width: 600
height: 400
marks:
  - type: rectY
    configuration:
      x: age
      fill: steelblue
      tip: true
      thresholds: [18, 25, 35, 45, 55, 65]

Histogram: Stacked ​

Compare distributions across multiple categories.

View Source
data:
  source: [
    {"value": 45, "region": "North"}, {"value": 52, "region": "North"}, {"value": 58, "region": "North"},
    {"value": 65, "region": "North"}, {"value": 72, "region": "North"}, {"value": 78, "region": "North"},
    {"value": 51, "region": "North"}, {"value": 59, "region": "North"}, {"value": 66, "region": "North"},
    {"value": 73, "region": "North"}, {"value": 48, "region": "North"}, {"value": 55, "region": "North"},
    {"value": 50, "region": "South"}, {"value": 57, "region": "South"}, {"value": 63, "region": "South"},
    {"value": 70, "region": "South"}, {"value": 77, "region": "South"}, {"value": 83, "region": "South"},
    {"value": 54, "region": "South"}, {"value": 61, "region": "South"}, {"value": 68, "region": "South"},
    {"value": 75, "region": "South"}, {"value": 52, "region": "South"}, {"value": 59, "region": "South"},
    {"value": 48, "region": "East"}, {"value": 55, "region": "East"}, {"value": 61, "region": "East"},
    {"value": 68, "region": "East"}, {"value": 75, "region": "East"}, {"value": 81, "region": "East"},
    {"value": 53, "region": "East"}, {"value": 60, "region": "East"}, {"value": 67, "region": "East"},
    {"value": 74, "region": "East"}, {"value": 50, "region": "East"}, {"value": 57, "region": "East"},
    {"value": 53, "region": "West"}, {"value": 60, "region": "West"}, {"value": 66, "region": "West"},
    {"value": 73, "region": "West"}, {"value": 80, "region": "West"}, {"value": 86, "region": "West"},
    {"value": 58, "region": "West"}, {"value": 65, "region": "West"}, {"value": 72, "region": "West"},
    {"value": 79, "region": "West"}, {"value": 55, "region": "West"}, {"value": 62, "region": "West"},
    {"value": 69, "region": "West"}, {"value": 76, "region": "West"}
  ]
type: histogram
engine: plot
x: value
color: region
title: Regional Sales Distribution
width: 600
height: 400
marks:
  - type: rectY
    configuration:
      x: value
      fill: region
      tip: true

Histogram: With Density Overlay ​

Combine histogram with smooth density curve.

View Source
data:
  source: [
    {"temperature": 18.5}, {"temperature": 19.2}, {"temperature": 20.1}, {"temperature": 21.3},
    {"temperature": 22.0}, {"temperature": 22.5}, {"temperature": 23.1}, {"temperature": 23.8},
    {"temperature": 24.2}, {"temperature": 24.6}, {"temperature": 25.0}, {"temperature": 25.5},
    {"temperature": 26.1}, {"temperature": 26.8}, {"temperature": 27.2}, {"temperature": 27.9},
    {"temperature": 28.3}, {"temperature": 28.7}, {"temperature": 29.1}, {"temperature": 29.8},
    {"temperature": 22.3}, {"temperature": 23.5}, {"temperature": 24.8}, {"temperature": 25.3},
    {"temperature": 26.5}, {"temperature": 21.7}, {"temperature": 20.5}, {"temperature": 19.8},
    {"temperature": 23.2}, {"temperature": 24.5}, {"temperature": 25.8}, {"temperature": 26.2},
    {"temperature": 27.5}, {"temperature": 22.8}, {"temperature": 21.1}, {"temperature": 20.3},
    {"temperature": 24.1}, {"temperature": 25.4}, {"temperature": 26.7}, {"temperature": 27.1},
    {"temperature": 28.4}, {"temperature": 23.7}, {"temperature": 22.2}, {"temperature": 21.5},
    {"temperature": 25.1}, {"temperature": 26.4}, {"temperature": 27.7}, {"temperature": 28.1},
    {"temperature": 29.4}, {"temperature": 24.3}
  ]
type: histogram
engine: plot
x: temperature
title: Temperature Distribution with Density
width: 600
height: 400
marks:
  - type: rectY
    configuration:
      x: temperature
      fill: steelblue
      fillOpacity: 0.5
      tip: true
  - type: density
    configuration:
      x: temperature
      stroke: darkblue
      strokeWidth: 2

Box Plots ​

Box Plot: Basic ​

Display quartiles, median, and range of a distribution.

View Source
data:
  source: [
    {"value": 45}, {"value": 52}, {"value": 58}, {"value": 61}, {"value": 65},
    {"value": 68}, {"value": 72}, {"value": 75}, {"value": 78}, {"value": 82},
    {"value": 85}, {"value": 88}, {"value": 91}, {"value": 94}, {"value": 97},
    {"value": 55}, {"value": 63}, {"value": 70}, {"value": 77}, {"value": 84},
    {"value": 50}, {"value": 57}, {"value": 64}, {"value": 71}, {"value": 79},
    {"value": 86}, {"value": 93}, {"value": 60}, {"value": 67}, {"value": 74},
    {"value": 81}, {"value": 89}, {"value": 53}, {"value": 62}, {"value": 69},
    {"value": 76}, {"value": 83}, {"value": 90}, {"value": 48}, {"value": 56},
    {"value": 66}, {"value": 73}, {"value": 80}, {"value": 87}, {"value": 95},
    {"value": 59}, {"value": 68}, {"value": 75}, {"value": 82}, {"value": 92}
  ]
type: boxplot
engine: plot
y: value
title: Value Distribution Summary
width: 600
height: 400
marks:
  - type: boxY
    configuration:
      y: value
      fill: steelblue
      tip: true

Box Plot: Grouped ​

Compare distributions across categories.

View Source
data:
  source: [
    {"category": "North", "value": 65}, {"category": "North", "value": 72}, {"category": "North", "value": 78},
    {"category": "North", "value": 85}, {"category": "North", "value": 91}, {"category": "North", "value": 88},
    {"category": "North", "value": 70}, {"category": "North", "value": 76}, {"category": "North", "value": 82},
    {"category": "North", "value": 89}, {"category": "North", "value": 75}, {"category": "North", "value": 81},
    {"category": "South", "value": 70}, {"category": "South", "value": 75}, {"category": "South", "value": 80},
    {"category": "South", "value": 82}, {"category": "South", "value": 88}, {"category": "South", "value": 92},
    {"category": "South", "value": 77}, {"category": "South", "value": 83}, {"category": "South", "value": 86},
    {"category": "South", "value": 90}, {"category": "South", "value": 74}, {"category": "South", "value": 79},
    {"category": "East", "value": 60}, {"category": "East", "value": 68}, {"category": "East", "value": 73},
    {"category": "East", "value": 79}, {"category": "East", "value": 84}, {"category": "East", "value": 90},
    {"category": "East", "value": 65}, {"category": "East", "value": 71}, {"category": "East", "value": 76},
    {"category": "East", "value": 82}, {"category": "East", "value": 87}, {"category": "East", "value": 93},
    {"category": "West", "value": 75}, {"category": "West", "value": 80}, {"category": "West", "value": 85},
    {"category": "West", "value": 88}, {"category": "West", "value": 93}, {"category": "West", "value": 96},
    {"category": "West", "value": 78}, {"category": "West", "value": 83}, {"category": "West", "value": 87},
    {"category": "West", "value": 91}, {"category": "West", "value": 81}, {"category": "West", "value": 86}
  ]
engine: plot
x: category
y: value
color: category
title: Regional Sales Comparison
width: 600
height: 400
marks:
  - type: boxY
    configuration:
      x: category
      y: value
      fill: category
      tip: true

Box Plot: With Outliers ​

Detect and visualize outliers using IQR method.

View Source
data:
  source: [
    {"value": 50}, {"value": 52}, {"value": 55}, {"value": 58}, {"value": 60},
    {"value": 62}, {"value": 65}, {"value": 67}, {"value": 70}, {"value": 72},
    {"value": 75}, {"value": 78}, {"value": 80}, {"value": 82}, {"value": 85},
    {"value": 53}, {"value": 57}, {"value": 61}, {"value": 64}, {"value": 68},
    {"value": 71}, {"value": 74}, {"value": 77}, {"value": 79}, {"value": 83},
    {"value": 54}, {"value": 59}, {"value": 63}, {"value": 66}, {"value": 69},
    {"value": 73}, {"value": 76}, {"value": 81}, {"value": 84}, {"value": 56},
    {"value": 15}, {"value": 20}, {"value": 18}, {"value": 22},
    {"value": 120}, {"value": 125}, {"value": 118}, {"value": 122},
    {"value": 61}, {"value": 65}, {"value": 69}, {"value": 74}, {"value": 78}
  ]
engine: plot
y: value
title: Distribution with Outliers
width: 600
height: 400
marks:
  - type: boxY
    configuration:
      y: value
      fill: steelblue
      tip: true

Box Plot: Horizontal ​

Horizontal orientation for better label readability.

View Source
data:
  source: [
    {"dept": "Customer Support", "score": 65}, {"dept": "Customer Support", "score": 72},
    {"dept": "Customer Support", "score": 78}, {"dept": "Customer Support", "score": 85},
    {"dept": "Customer Support", "score": 68}, {"dept": "Customer Support", "score": 75},
    {"dept": "Customer Support", "score": 81}, {"dept": "Customer Support", "score": 70},
    {"dept": "Customer Support", "score": 77}, {"dept": "Customer Support", "score": 83},
    {"dept": "Product Dev", "score": 70}, {"dept": "Product Dev", "score": 75},
    {"dept": "Product Dev", "score": 82}, {"dept": "Product Dev", "score": 88},
    {"dept": "Product Dev", "score": 73}, {"dept": "Product Dev", "score": 79},
    {"dept": "Product Dev", "score": 85}, {"dept": "Product Dev", "score": 76},
    {"dept": "Product Dev", "score": 81}, {"dept": "Product Dev", "score": 87},
    {"dept": "Sales", "score": 60}, {"dept": "Sales", "score": 68},
    {"dept": "Sales", "score": 73}, {"dept": "Sales", "score": 80},
    {"dept": "Sales", "score": 64}, {"dept": "Sales", "score": 71},
    {"dept": "Sales", "score": 77}, {"dept": "Sales", "score": 67},
    {"dept": "Sales", "score": 74}, {"dept": "Sales", "score": 81},
    {"dept": "Marketing", "score": 72}, {"dept": "Marketing", "score": 78},
    {"dept": "Marketing", "score": 84}, {"dept": "Marketing", "score": 90},
    {"dept": "Marketing", "score": 75}, {"dept": "Marketing", "score": 81},
    {"dept": "Marketing", "score": 87}, {"dept": "Marketing", "score": 79},
    {"dept": "Marketing", "score": 85}, {"dept": "Marketing", "score": 91},
    {"dept": "Engineering", "score": 68}, {"dept": "Engineering", "score": 74},
    {"dept": "Engineering", "score": 80}, {"dept": "Engineering", "score": 86},
    {"dept": "Engineering", "score": 71}, {"dept": "Engineering", "score": 77},
    {"dept": "Engineering", "score": 83}, {"dept": "Engineering", "score": 75},
    {"dept": "Engineering", "score": 81}, {"dept": "Engineering", "score": 88}
  ]
engine: plot
x: score
y: dept
color: dept
title: Department Performance Scores
width: 600
height: 400
margin: 
	left: 140
marks:
  - type: boxX
    configuration:
      y: dept
      x: score
      fill: dept
      tip: true

Density Plots ​

Density Plot: Basic ​

Smooth distribution curve showing probability density.

View Source
data:
  source: [
    {"value": 45}, {"value": 48}, {"value": 52}, {"value": 55}, {"value": 58},
    {"value": 61}, {"value": 65}, {"value": 68}, {"value": 72}, {"value": 75},
    {"value": 78}, {"value": 82}, {"value": 85}, {"value": 88}, {"value": 91},
    {"value": 54}, {"value": 63}, {"value": 70}, {"value": 77}, {"value": 84},
    {"value": 50}, {"value": 57}, {"value": 64}, {"value": 71}, {"value": 79},
    {"value": 86}, {"value": 93}, {"value": 60}, {"value": 67}, {"value": 74},
    {"value": 81}, {"value": 89}, {"value": 53}, {"value": 62}, {"value": 69},
    {"value": 76}, {"value": 83}, {"value": 90}, {"value": 47}, {"value": 56},
    {"value": 66}, {"value": 73}, {"value": 80}, {"value": 87}, {"value": 95},
    {"value": 59}, {"value": 68}, {"value": 75}, {"value": 82}, {"value": 92}
  ]
type: density
engine: plot
title: Value Density Distribution
width: 600
height: 400
x: value
marks:
  - type: density
    configuration:
      x: value
      fill: steelblue
      fillOpacity: 0.3
      stroke: steelblue
      strokeWidth: 2
xLabel: Value
y:
  label: Density

Density Plot: Overlapping ​

Compare multiple distributions with overlaid curves.

View Source
data:
  source: [
    {"group": "A", "value": 50}, {"group": "A", "value": 55}, {"group": "A", "value": 60},
    {"group": "A", "value": 65}, {"group": "A", "value": 70}, {"group": "A", "value": 75},
    {"group": "A", "value": 52}, {"group": "A", "value": 57}, {"group": "A", "value": 62},
    {"group": "A", "value": 67}, {"group": "A", "value": 72}, {"group": "A", "value": 54},
    {"group": "A", "value": 59}, {"group": "A", "value": 64}, {"group": "A", "value": 69},
    {"group": "A", "value": 74}, {"group": "A", "value": 56},
    {"group": "B", "value": 60}, {"group": "B", "value": 65}, {"group": "B", "value": 70},
    {"group": "B", "value": 75}, {"group": "B", "value": 80}, {"group": "B", "value": 85},
    {"group": "B", "value": 62}, {"group": "B", "value": 67}, {"group": "B", "value": 72},
    {"group": "B", "value": 77}, {"group": "B", "value": 82}, {"group": "B", "value": 64},
    {"group": "B", "value": 69}, {"group": "B", "value": 74}, {"group": "B", "value": 79},
    {"group": "B", "value": 84}, {"group": "B", "value": 66},
    {"group": "C", "value": 45}, {"group": "C", "value": 50}, {"group": "C", "value": 55},
    {"group": "C", "value": 60}, {"group": "C", "value": 65}, {"group": "C", "value": 70},
    {"group": "C", "value": 47}, {"group": "C", "value": 52}, {"group": "C", "value": 57},
    {"group": "C", "value": 62}, {"group": "C", "value": 67}, {"group": "C", "value": 49},
    {"group": "C", "value": 54}, {"group": "C", "value": 59}, {"group": "C", "value": 64},
    {"group": "C", "value": 69}, {"group": "C", "value": 51}
  ]

engine: plot
title: Distribution Comparison Across Groups
width: 600
height: 400
marks:
  - type: density
    configuration:
      x: value
      stroke: group
      strokeWidth: 2
      fill: group
      fillOpacity: 0.2
x:
  label: Value
y:
  label: Density
color:
  legend: true

Density Plot: Filled ​

Emphasized area under the curve.

View Source
data:
  source: [
    {"price": 25.5}, {"price": 28.2}, {"price": 31.8}, {"price": 35.1}, {"price": 38.7},
    {"price": 42.3}, {"price": 45.9}, {"price": 49.2}, {"price": 52.8}, {"price": 56.4},
    {"price": 30.1}, {"price": 33.7}, {"price": 37.3}, {"price": 40.6}, {"price": 44.2},
    {"price": 47.8}, {"price": 51.4}, {"price": 54.7}, {"price": 58.3}, {"price": 27.3},
    {"price": 32.4}, {"price": 36.0}, {"price": 39.3}, {"price": 42.9}, {"price": 46.5},
    {"price": 50.1}, {"price": 53.4}, {"price": 57.0}, {"price": 29.6}, {"price": 34.2},
    {"price": 37.8}, {"price": 41.1}, {"price": 44.7}, {"price": 48.3}, {"price": 51.9},
    {"price": 55.2}, {"price": 58.8}, {"price": 26.7}, {"price": 31.3}, {"price": 34.9},
    {"price": 38.2}, {"price": 41.8}, {"price": 45.4}, {"price": 49.0}, {"price": 52.3},
    {"price": 55.9}, {"price": 28.9}, {"price": 33.5}, {"price": 37.1}, {"price": 40.4}
  ]
type: density
engine: plot
title: Price Density Distribution
width: 600
height: 400
x: price
marks:
  - type: density
    configuration:
      x: price
      fill: "#ff7f0e"
      fillOpacity: 0.6
      stroke: "#d62728"
      strokeWidth: 2
x:
  label: Price ($)
y:
  label: Density

Density Plot: Ridgeline ​

Vertically stacked density curves for temporal comparison.

View Source
data:
  source: [
    {"month": "Jan", "temp": 5}, {"month": "Jan", "temp": 7}, {"month": "Jan", "temp": 8},
    {"month": "Jan", "temp": 10}, {"month": "Jan", "temp": 12}, {"month": "Jan", "temp": 6},
    {"month": "Jan", "temp": 9}, {"month": "Jan", "temp": 11}, {"month": "Jan", "temp": 7},
    {"month": "Jan", "temp": 8}, {"month": "Jan", "temp": 10}, {"month": "Jan", "temp": 9},
    {"month": "Feb", "temp": 8}, {"month": "Feb", "temp": 10}, {"month": "Feb", "temp": 12},
    {"month": "Feb", "temp": 14}, {"month": "Feb", "temp": 16}, {"month": "Feb", "temp": 9},
    {"month": "Feb", "temp": 11}, {"month": "Feb", "temp": 13}, {"month": "Feb", "temp": 15},
    {"month": "Feb", "temp": 10}, {"month": "Feb", "temp": 12}, {"month": "Feb", "temp": 14},
    {"month": "Mar", "temp": 12}, {"month": "Mar", "temp": 15}, {"month": "Mar", "temp": 18},
    {"month": "Mar", "temp": 20}, {"month": "Mar", "temp": 22}, {"month": "Mar", "temp": 14},
    {"month": "Mar", "temp": 16}, {"month": "Mar", "temp": 19}, {"month": "Mar", "temp": 21},
    {"month": "Mar", "temp": 17}, {"month": "Mar", "temp": 19}, {"month": "Mar", "temp": 20},
    {"month": "Apr", "temp": 18}, {"month": "Apr", "temp": 20}, {"month": "Apr", "temp": 22},
    {"month": "Apr", "temp": 24}, {"month": "Apr", "temp": 26}, {"month": "Apr", "temp": 19},
    {"month": "Apr", "temp": 21}, {"month": "Apr", "temp": 23}, {"month": "Apr", "temp": 25},
    {"month": "Apr", "temp": 22}, {"month": "Apr", "temp": 24}, {"month": "Apr", "temp": 23}
  ]
type: density
engine: plot
title: Temperature Distribution by Month
width: 600
height: 500
x: temp
facet:
  y: month
marks:
  - type: density
    configuration:
      x: temp
      fill: month
      fillOpacity: 0.5
      stroke: month
      strokeWidth: 2
x:
  label: Temperature (°C)
color:
  legend: true

Heatmaps ​

Heatmap: Basic ​

2D data intensity visualization using color.

View Source
data:
  source: [
    {"x": "Mon", "y": "9AM", "value": 12}, {"x": "Mon", "y": "10AM", "value": 18}, {"x": "Mon", "y": "11AM", "value": 15},
    {"x": "Mon", "y": "12PM", "value": 22}, {"x": "Mon", "y": "1PM", "value": 25}, {"x": "Mon", "y": "2PM", "value": 20},
    {"x": "Tue", "y": "9AM", "value": 15}, {"x": "Tue", "y": "10AM", "value": 22}, {"x": "Tue", "y": "11AM", "value": 18},
    {"x": "Tue", "y": "12PM", "value": 26}, {"x": "Tue", "y": "1PM", "value": 28}, {"x": "Tue", "y": "2PM", "value": 23},
    {"x": "Wed", "y": "9AM", "value": 14}, {"x": "Wed", "y": "10AM", "value": 20}, {"x": "Wed", "y": "11AM", "value": 17},
    {"x": "Wed", "y": "12PM", "value": 24}, {"x": "Wed", "y": "1PM", "value": 27}, {"x": "Wed", "y": "2PM", "value": 22},
    {"x": "Thu", "y": "9AM", "value": 16}, {"x": "Thu", "y": "10AM", "value": 23}, {"x": "Thu", "y": "11AM", "value": 19},
    {"x": "Thu", "y": "12PM", "value": 28}, {"x": "Thu", "y": "1PM", "value": 30}, {"x": "Thu", "y": "2PM", "value": 25},
    {"x": "Fri", "y": "9AM", "value": 18}, {"x": "Fri", "y": "10AM", "value": 25}, {"x": "Fri", "y": "11AM", "value": 21},
    {"x": "Fri", "y": "12PM", "value": 30}, {"x": "Fri", "y": "1PM", "value": 32}, {"x": "Fri", "y": "2PM", "value": 27},
    {"x": "Sat", "y": "9AM", "value": 10}, {"x": "Sat", "y": "10AM", "value": 14}, {"x": "Sat", "y": "11AM", "value": 12},
    {"x": "Sat", "y": "12PM", "value": 18}, {"x": "Sat", "y": "1PM", "value": 20}, {"x": "Sat", "y": "2PM", "value": 16},
    {"x": "Sun", "y": "9AM", "value": 8}, {"x": "Sun", "y": "10AM", "value": 12}, {"x": "Sun", "y": "11AM", "value": 10},
    {"x": "Sun", "y": "12PM", "value": 15}, {"x": "Sun", "y": "1PM", "value": 17}, {"x": "Sun", "y": "2PM", "value": 14},
    {"x": "Mon", "y": "3PM", "value": 17}, {"x": "Tue", "y": "3PM", "value": 20}, {"x": "Wed", "y": "3PM", "value": 19},
    {"x": "Thu", "y": "3PM", "value": 22}, {"x": "Fri", "y": "3PM", "value": 24}, {"x": "Sat", "y": "3PM", "value": 13},
    {"x": "Sun", "y": "3PM", "value": 11}
  ]
type: heatmap
engine: plot
x: x
y: y
title: Activity Heatmap
width: 600
height: 400
color:
  scheme: Blues
marks:
  - type: cell
    configuration:
      x: x
      y: y
      fill: value
      tip: true

Heatmap: Correlation ​

Correlation matrix with diverging color scheme.

View Source
data:
  source: [
    {"var1": "Sales", "var2": "Sales", "corr": 1.0}, {"var1": "Sales", "var2": "Marketing", "corr": 0.75},
    {"var1": "Sales", "var2": "Support", "corr": 0.45}, {"var1": "Sales", "var2": "Dev", "corr": 0.32},
    {"var1": "Marketing", "var2": "Sales", "corr": 0.75}, {"var1": "Marketing", "var2": "Marketing", "corr": 1.0},
    {"var1": "Marketing", "var2": "Support", "corr": 0.52}, {"var1": "Marketing", "var2": "Dev", "corr": 0.28},
    {"var1": "Support", "var2": "Sales", "corr": 0.45}, {"var1": "Support", "var2": "Marketing", "corr": 0.52},
    {"var1": "Support", "var2": "Support", "corr": 1.0}, {"var1": "Support", "var2": "Dev", "corr": 0.68},
    {"var1": "Dev", "var2": "Sales", "corr": 0.32}, {"var1": "Dev", "var2": "Marketing", "corr": 0.28},
    {"var1": "Dev", "var2": "Support", "corr": 0.68}, {"var1": "Dev", "var2": "Dev", "corr": 1.0}
  ]
type: heatmap
engine: plot
x: var1
y: var2
title: Variable Correlation Matrix
width: 600
height: 500
color:
  scheme: RdBu
  domain: [-1, 1]
marks:
  - type: cell
    configuration:
      x: var1
      y: var2
      fill: corr
      tip: true

Heatmap: Temporal ​

Time-based activity patterns.

View Source
data:
  source: [
    {"day": "Mon", "hour": "6AM", "activity": 5}, {"day": "Mon", "hour": "9AM", "activity": 45}, {"day": "Mon", "hour": "12PM", "activity": 85},
    {"day": "Mon", "hour": "3PM", "activity": 75}, {"day": "Mon", "hour": "6PM", "activity": 60}, {"day": "Mon", "hour": "9PM", "activity": 25},
    {"day": "Tue", "hour": "6AM", "activity": 8}, {"day": "Tue", "hour": "9AM", "activity": 50}, {"day": "Tue", "hour": "12PM", "activity": 90},
    {"day": "Tue", "hour": "3PM", "activity": 80}, {"day": "Tue", "hour": "6PM", "activity": 65}, {"day": "Tue", "hour": "9PM", "activity": 30},
    {"day": "Wed", "hour": "6AM", "activity": 7}, {"day": "Wed", "hour": "9AM", "activity": 48}, {"day": "Wed", "hour": "12PM", "activity": 88},
    {"day": "Wed", "hour": "3PM", "activity": 78}, {"day": "Wed", "hour": "6PM", "activity": 62}, {"day": "Wed", "hour": "9PM", "activity": 28},
    {"day": "Thu", "hour": "6AM", "activity": 9}, {"day": "Thu", "hour": "9AM", "activity": 52}, {"day": "Thu", "hour": "12PM", "activity": 92},
    {"day": "Thu", "hour": "3PM", "activity": 82}, {"day": "Thu", "hour": "6PM", "activity": 68}, {"day": "Thu", "hour": "9PM", "activity": 32},
    {"day": "Fri", "hour": "6AM", "activity": 10}, {"day": "Fri", "hour": "9AM", "activity": 55}, {"day": "Fri", "hour": "12PM", "activity": 95},
    {"day": "Fri", "hour": "3PM", "activity": 85}, {"day": "Fri", "hour": "6PM", "activity": 70}, {"day": "Fri", "hour": "9PM", "activity": 35},
    {"day": "Sat", "hour": "6AM", "activity": 3}, {"day": "Sat", "hour": "9AM", "activity": 20}, {"day": "Sat", "hour": "12PM", "activity": 50},
    {"day": "Sat", "hour": "3PM", "activity": 45}, {"day": "Sat", "hour": "6PM", "activity": 40}, {"day": "Sat", "hour": "9PM", "activity": 22},
    {"day": "Sun", "hour": "6AM", "activity": 2}, {"day": "Sun", "hour": "9AM", "activity": 15}, {"day": "Sun", "hour": "12PM", "activity": 42},
    {"day": "Sun", "hour": "3PM", "activity": 38}, {"day": "Sun", "hour": "6PM", "activity": 35}, {"day": "Sun", "hour": "9PM", "activity": 18}
  ]
type: heatmap
engine: plot
x: day
y: hour
title: Weekly Activity Patterns
width: 600
height: 400
color:
  scheme: Greens
marks:
  - type: cell
    configuration:
      x: day
      y: hour
      fill: activity
      tip: true

Heatmap: Custom Colors ​

Demonstrate different color schemes.

View Source
data:
  source: [
    {"product": "Widget A", "region": "North", "sales": 125}, {"product": "Widget A", "region": "South", "sales": 98},
    {"product": "Widget A", "region": "East", "sales": 145}, {"product": "Widget A", "region": "West", "sales": 132},
    {"product": "Widget B", "region": "North", "sales": 88}, {"product": "Widget B", "region": "South", "sales": 112},
    {"product": "Widget B", "region": "East", "sales": 95}, {"product": "Widget B", "region": "West", "sales": 105},
    {"product": "Widget C", "region": "North", "sales": 156}, {"product": "Widget C", "region": "South", "sales": 142},
    {"product": "Widget C", "region": "East", "sales": 168}, {"product": "Widget C", "region": "West", "sales": 178},
    {"product": "Widget D", "region": "North", "sales": 92}, {"product": "Widget D", "region": "South", "sales": 85},
    {"product": "Widget D", "region": "East", "sales": 102}, {"product": "Widget D", "region": "West", "sales": 96},
    {"product": "Widget E", "region": "North", "sales": 134}, {"product": "Widget E", "region": "South", "sales": 128},
    {"product": "Widget E", "region": "East", "sales": 148}, {"product": "Widget E", "region": "West", "sales": 152},
    {"product": "Gadget A", "region": "North", "sales": 78}, {"product": "Gadget A", "region": "South", "sales": 68},
    {"product": "Gadget A", "region": "East", "sales": 82}, {"product": "Gadget A", "region": "West", "sales": 75},
    {"product": "Gadget B", "region": "North", "sales": 165}, {"product": "Gadget B", "region": "South", "sales": 158},
    {"product": "Gadget B", "region": "East", "sales": 172}, {"product": "Gadget B", "region": "West", "sales": 185}
  ]
type: heatmap
engine: plot
x: region
y: product
title: Product Sales by Region (Viridis)
width: 600
height: 400
color:
  scheme: Viridis
marks:
  - type: cell
    configuration:
      x: region
      y: product
      fill: sales
      tip: true

Usage Notes ​

General Tips ​

  • Data Format: All examples use inline JSON with source: prefix
  • Dimensions: Standard size is 600×400 pixels
  • Tooltips: Enable with tip: true for interactivity
  • Color Schemes: Blues, Greens, RdBu, Viridis, category10
  • Grid Lines: Add with grid: true for better readability

Chart Selection Guide ​

  • Histogram: Distribution of single continuous variable
  • Box Plot: Compare distributions, identify quartiles and outliers
  • Density Plot: Smooth distribution curves, probability density
  • Heatmap: 2D patterns, correlations, temporal data

Color Scheme Guide ​

  • Sequential (Blues, Greens, Viridis): Single variable intensity
  • Diverging (RdBu): Data with meaningful midpoint (correlations)
  • Categorical (category10): Distinct groups/categories

Generated for obsidian-d3 plugin - Statistical Visualizations Guide

Released under the MIT License. Built by Boundary Lab.