Fitness Tracking Dashboard
A comprehensive visualization dashboard showcasing various chart types using personal fitness data. This example demonstrates how different mark types can reveal insights from the same dataset.
Daily Activity Timeline
Line chart showing activity levels throughout the tracking period.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: line
engine: plot
title: Daily Activity Level Trend
width: 800
height: 400
marks:
- type: line
configuration:
x: day
y: activity_level
stroke: "#3498db"
strokeWidth: 2.5
tip: true
- type: dot
configuration:
x: day
y: activity_level
fill: "#2980b9"
r: 3
x:
label: Day of Month
y:
label: Activity Level (1-10)
grid: trueCalories vs Steps Scatter
Scatter plot revealing the relationship between steps taken and calories burned.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: scatter
engine: plot
title: Calories Burned vs Steps Taken
width: 700
height: 500
marks:
- type: dot
configuration:
x: steps
y: calories
r: 4
fill: workout_type
tip: true
x:
label: Steps Taken
y:
label: Calories Burned
color:
legend: true
grid: trueWorkout Duration by Type
Bar chart comparing workout durations across different exercise types.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: bar
engine: plot
title: Average Workout Duration by Type
width: 700
height: 400
marks:
- type: barY
configuration:
x: workout_type
y: duration
fill: workout_type
tip: true
x:
label: Workout Type
y:
label: Duration (minutes)
color:
legend: trueHeart Rate Distribution
Box plot showing heart rate distribution during different workout types.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: boxplot
x: workout_type
y: heart_rate
engine: plot
title: Heart Rate Distribution by Workout Type
width: 700
height: 450
marks:
- type: boxY
configuration:
x: workout_type
y: heart_rate
fill: workout_type
tip: true
scales:
x:
label: Workout Type
y:
label: Heart Rate (bpm)
color:
legend: trueWeekly Progress Area Chart
Stacked area showing cumulative progress metrics over time.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: area
engine: plot
title: Cumulative Fitness Metrics
width: 800
height: 400
marks:
- type: areaY
configuration:
x: day
y: steps
fill: "#e74c3c"
fillOpacity: 0.6
tip: true
- type: line
configuration:
x: day
y: steps
stroke: "#c0392b"
strokeWidth: 2
x:
label: Day
y:
label: Cumulative Steps (scaled)
grid: truePerformance Heatmap
Cell visualization showing intensity patterns across days and workout types.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: heatmap
x: day
y: workout_type
color: activity_level
engine: plot
title: Workout Intensity Heatmap
width: 800
height: 400
marks:
- type: cell
configuration:
x: day
y: workout_type
fill: activity_level
tip: true
scales:
x:
label: Day of Month
y:
label: Workout Type
color:
scheme: reds
legend: trueRecovery Time Analysis
Rule marks showing target zones with actual performance overlay.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: scatter
x: day
y: heart_rate
engine: plot
title: Heart Rate Zones
width: 700
height: 400
marks:
- type: ruleY
configuration:
y: 120
stroke: "#27ae60"
strokeWidth: 1
strokeDasharray: "4,4"
- type: ruleY
configuration:
y: 150
stroke: "#f39c12"
strokeWidth: 1
strokeDasharray: "4,4"
- type: ruleY
configuration:
y: 170
stroke: "#e74c3c"
strokeWidth: 1
strokeDasharray: "4,4"
- type: dot
configuration:
x: day
y: heart_rate
fill: workout_type
r: 4
tip: true
scales:
x:
label: Day
y:
label: Heart Rate (bpm)
color:
legend: true
grid: trueText Annotations
Highlighting key achievements with text marks.
View Source
data:
source: [
{"day": 5, "value": 95, "label": "Personal Best!"},
{"day": 15, "value": 92, "label": "Great Form"},
{"day": 25, "value": 88, "label": "Strong Finish"}
]
type: scatter
x: day
y: value
engine: plot
title: Performance Highlights
width: 700
height: 400
marks:
- type: dot
configuration:
x: day
y: value
fill: "#9b59b6"
r: 8
- type: text
configuration:
x: day
y: value
text: label
dy: -15
fontSize: 12
fontWeight: bold
scales:
x:
label: Day
y:
label: Performance Score
grid: trueAuto Mark - Smart Visualization
Let Observable Plot automatically choose the best visualization.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
engine: plot
title: Auto-Detected Visualization
width: 700
height: 400
marks:
- type: auto
configuration:
x: steps
y: calories
fill: workout_type
x:
label: Steps
y:
label: Calories
color:
legend: trueMulti-Mark Composition
Combining multiple mark types for rich insights.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
engine: plot
title: Comprehensive Activity Analysis
width: 800
height: 500
marks:
- type: areaY
configuration:
x: day
y: activity_level
fill: "#3498db"
fillOpacity: 0.3
- type: line
configuration:
x: day
y: activity_level
stroke: "#2980b9"
strokeWidth: 2
- type: dot
configuration:
x: day
y: activity_level
r: duration
fill: workout_type
tip: true
x:
label: Day of Month
y:
label: Activity Level
color:
legend: true
scales:
r:
range: [2, 12]
grid: trueRegression Analysis
Linear regression showing the relationship between steps and calories.
View Source
data:
source: [
{"day": 1, "steps": 8543, "calories": 342, "duration": 45, "heart_rate": 128, "activity_level": 7, "workout_type": "Running"},
{"day": 2, "steps": 12456, "calories": 498, "duration": 60, "heart_rate": 145, "activity_level": 9, "workout_type": "Cycling"},
{"day": 3, "steps": 6234, "calories": 267, "duration": 30, "heart_rate": 118, "activity_level": 6, "workout_type": "Walking"},
{"day": 4, "steps": 10987, "calories": 445, "duration": 55, "heart_rate": 138, "activity_level": 8, "workout_type": "Running"},
{"day": 5, "steps": 15234, "calories": 612, "duration": 75, "heart_rate": 152, "activity_level": 10, "workout_type": "Cycling"},
{"day": 6, "steps": 5678, "calories": 245, "duration": 25, "heart_rate": 112, "activity_level": 5, "workout_type": "Walking"},
{"day": 7, "steps": 9876, "calories": 398, "duration": 50, "heart_rate": 135, "activity_level": 8, "workout_type": "Yoga"},
{"day": 8, "steps": 11234, "calories": 456, "duration": 58, "heart_rate": 142, "activity_level": 8, "workout_type": "Running"},
{"day": 9, "steps": 7890, "calories": 324, "duration": 35, "heart_rate": 122, "activity_level": 7, "workout_type": "Walking"},
{"day": 10, "steps": 13456, "calories": 542, "duration": 68, "heart_rate": 148, "activity_level": 9, "workout_type": "Cycling"},
{"day": 11, "steps": 8901, "calories": 367, "duration": 42, "heart_rate": 130, "activity_level": 7, "workout_type": "Running"},
{"day": 12, "steps": 6543, "calories": 278, "duration": 28, "heart_rate": 115, "activity_level": 6, "workout_type": "Walking"},
{"day": 13, "steps": 10234, "calories": 423, "duration": 52, "heart_rate": 136, "activity_level": 8, "workout_type": "Yoga"},
{"day": 14, "steps": 14567, "calories": 587, "duration": 72, "heart_rate": 150, "activity_level": 9, "workout_type": "Cycling"},
{"day": 15, "steps": 9234, "calories": 382, "duration": 48, "heart_rate": 133, "activity_level": 8, "workout_type": "Running"},
{"day": 16, "steps": 7123, "calories": 298, "duration": 32, "heart_rate": 120, "activity_level": 6, "workout_type": "Walking"},
{"day": 17, "steps": 11890, "calories": 478, "duration": 62, "heart_rate": 144, "activity_level": 9, "workout_type": "Cycling"},
{"day": 18, "steps": 8456, "calories": 352, "duration": 44, "heart_rate": 127, "activity_level": 7, "workout_type": "Running"},
{"day": 19, "steps": 6789, "calories": 287, "duration": 30, "heart_rate": 116, "activity_level": 6, "workout_type": "Walking"},
{"day": 20, "steps": 12678, "calories": 512, "duration": 65, "heart_rate": 147, "activity_level": 9, "workout_type": "Running"},
{"day": 21, "steps": 9567, "calories": 395, "duration": 50, "heart_rate": 134, "activity_level": 8, "workout_type": "Yoga"},
{"day": 22, "steps": 13890, "calories": 558, "duration": 70, "heart_rate": 149, "activity_level": 9, "workout_type": "Cycling"},
{"day": 23, "steps": 7456, "calories": 312, "duration": 38, "heart_rate": 124, "activity_level": 7, "workout_type": "Walking"},
{"day": 24, "steps": 10567, "calories": 437, "duration": 54, "heart_rate": 139, "activity_level": 8, "workout_type": "Running"},
{"day": 25, "steps": 15678, "calories": 628, "duration": 78, "heart_rate": 154, "activity_level": 10, "workout_type": "Cycling"},
{"day": 26, "steps": 8234, "calories": 342, "duration": 43, "heart_rate": 129, "activity_level": 7, "workout_type": "Yoga"},
{"day": 27, "steps": 11456, "calories": 467, "duration": 60, "heart_rate": 143, "activity_level": 8, "workout_type": "Running"},
{"day": 28, "steps": 6890, "calories": 291, "duration": 31, "heart_rate": 117, "activity_level": 6, "workout_type": "Walking"},
{"day": 29, "steps": 13234, "calories": 534, "duration": 67, "heart_rate": 146, "activity_level": 9, "workout_type": "Cycling"},
{"day": 30, "steps": 9890, "calories": 408, "duration": 51, "heart_rate": 137, "activity_level": 8, "workout_type": "Running"}
]
type: scatter
x: steps
y: calories
engine: plot
title: Steps vs Calories with Trend Line
width: 700
height: 500
marks:
- type: dot
configuration:
x: steps
y: calories
fill: workout_type
fillOpacity: 0.6
r: 4
- type: linearRegressionY
configuration:
x: steps
y: calories
stroke: "#e74c3c"
strokeWidth: 3
scales:
x:
label: Steps Taken
y:
label: Calories Burned
color:
legend: true
grid: trueKey Insights
This dashboard demonstrates:
- Line charts for temporal trends
- Scatter plots for correlation analysis
- Bar charts for categorical comparisons
- Box plots for distribution analysis
- Area charts for cumulative metrics
- Cell/heatmaps for pattern detection
- Rule marks for reference lines and zones
- Text marks for annotations
- Auto marks for intelligent defaults
- Multi-mark compositions for comprehensive analysis
- Regression analysis for trend prediction
The fitness dataset contains 30 days of activity tracking with metrics including steps, calories, duration, heart rate, activity level, and workout type.