Charts · Points & grids
ActivityGrid Contributions Contributions
Contributions date count level 2026-03-30 0 0 2026-03-31 7 0 2026-04-01 3 0 2026-04-02 10 0 2026-04-03 6 0 2026-04-04 0 0 2026-04-05 3 0 2026-04-06 8 0 2026-04-07 4 0 2026-04-08 0 0 2026-04-09 7 0 2026-04-10 3 0 2026-04-11 3 0 2026-04-12 2 0 2026-04-13 5 0 2026-04-14 1 0 2026-04-15 8 0 2026-04-16 4 0 2026-04-17 0 0 2026-04-18 2 0 2026-04-19 1 0 2026-04-20 2 0 2026-04-21 9 0 2026-04-22 5 0 2026-04-23 1 0 2026-04-24 8 0 2026-04-25 1 0 2026-04-26 0 0 2026-04-27 10 0 2026-04-28 6 0 2026-04-29 2 0 2026-04-30 9 0 2026-05-01 5 0 2026-05-02 0 0 2026-05-03 2 0 2026-05-04 7 0 2026-05-05 3 0 2026-05-06 10 0 2026-05-07 6 0 2026-05-08 2 0 2026-05-09 3 0 2026-05-10 1 0 2026-05-11 4 0 2026-05-12 0 0 2026-05-13 7 0 2026-05-14 3 0 2026-05-15 10 0 2026-05-16 2 0 2026-05-17 0 0 2026-05-18 1 0 2026-05-19 8 0 2026-05-20 4 0 2026-05-21 0 0 2026-05-22 7 0 2026-05-23 1 0 2026-05-24 3 0 2026-05-25 9 0 2026-05-26 5 0 2026-05-27 1 0 2026-05-28 8 0 2026-05-29 4 0 2026-05-30 0 0 2026-05-31 2 0 2026-06-01 6 0 2026-06-02 2 0 2026-06-03 9 0 2026-06-04 5 0 2026-06-05 1 0 2026-06-06 2 0 2026-06-07 1 0 2026-06-08 3 0 2026-06-09 10 0 2026-06-10 6 0 2026-06-11 2 0 2026-06-12 9 0 2026-06-13 1 0 2026-06-14 0 0 2026-06-15 0 0 2026-06-16 7 0 2026-06-17 3 0 2026-06-18 10 0 2026-06-19 6 0 2026-06-20 0 0 2026-06-21 3 0 2026-06-22 8 0 2026-06-23 4 0 2026-06-24 0 0 2026-06-25 7 0 2026-06-26 3 0 2026-06-27 3 0 2026-06-28 2 0 2026-06-29 5 0 2026-06-30 1 0 2026-07-01 8 0 2026-07-02 4 0 2026-07-03 0 0 2026-07-04 2 0 2026-07-05 1 0 2026-07-06 2 0 2026-07-07 9 0 2026-07-08 5 0 2026-07-09 1 0 2026-07-10 8 0 2026-07-11 1 0 2026-07-12 0 0 2026-07-13 10 0 2026-07-14 6 0 2026-07-15 2 0 2026-07-16 9 0 2026-07-17 5 0 2026-07-18 0 0 2026-07-19 2 0 2026-07-20 7 0 2026-07-21 3 0 2026-07-22 10 0 2026-07-23 6 0 2026-07-24 2 0 2026-07-25 3 0 2026-07-26 1 0 2026-07-27 4 0 2026-07-28 0 0 2026-07-29 7 0 2026-07-30 3 0 2026-07-31 10 0 2026-08-01 2 0 2026-08-02 0 0 2026-08-03 1 0 2026-08-04 8 0 2026-08-05 4 0 2026-08-06 0 0 2026-08-07 7 0 2026-08-08 1 0 2026-08-09 3 0 2026-08-10 9 0 2026-08-11 5 0 2026-08-12 1 0 2026-08-13 8 0 2026-08-14 4 0 2026-08-15 0 0 2026-08-16 2 0 2026-08-17 6 0 2026-08-18 2 0 2026-08-19 9 0 2026-08-20 5 0 2026-08-21 1 0 2026-08-22 2 0 2026-08-23 1 0 2026-08-24 3 0 2026-08-25 10 0 2026-08-26 6 0 2026-08-27 2 0 2026-08-28 9 0 2026-08-29 1 0 2026-08-30 0 0 2026-08-31 0 0 2026-09-01 7 0 2026-09-02 3 0 2026-09-03 10 0 2026-09-04 6 0 2026-09-05 0 0 2026-09-06 3 0 2026-09-07 8 0 2026-09-08 4 0 2026-09-09 0 0 2026-09-10 7 0 2026-09-11 3 0 2026-09-12 3 0 2026-09-13 2 0 2026-09-14 5 0 2026-09-15 1 0 2026-09-16 8 0 2026-09-17 4 0 2026-09-18 0 0 2026-09-19 2 0 2026-09-20 1 0 2026-09-21 2 0 2026-09-22 9 0 2026-09-23 5 0 2026-09-24 1 0 2026-09-25 8 0 2026-09-26 1 0 2026-09-27 0 0
Contributions Contributions
Contributions date count level 2026-03-30 0 0 2026-03-31 7 0 2026-04-01 3 0 2026-04-02 10 0 2026-04-03 6 0 2026-04-04 0 0 2026-04-05 3 0 2026-04-06 8 0 2026-04-07 4 0 2026-04-08 0 0 2026-04-09 7 0 2026-04-10 3 0 2026-04-11 3 0 2026-04-12 2 0 2026-04-13 5 0 2026-04-14 1 0 2026-04-15 8 0 2026-04-16 4 0 2026-04-17 0 0 2026-04-18 2 0 2026-04-19 1 0 2026-04-20 2 0 2026-04-21 9 0 2026-04-22 5 0 2026-04-23 1 0 2026-04-24 8 0 2026-04-25 1 0 2026-04-26 0 0 2026-04-27 10 0 2026-04-28 6 0 2026-04-29 2 0 2026-04-30 9 0 2026-05-01 5 0 2026-05-02 0 0 2026-05-03 2 0 2026-05-04 7 0 2026-05-05 3 0 2026-05-06 10 0 2026-05-07 6 0 2026-05-08 2 0 2026-05-09 3 0 2026-05-10 1 0 2026-05-11 4 0 2026-05-12 0 0 2026-05-13 7 0 2026-05-14 3 0 2026-05-15 10 0 2026-05-16 2 0 2026-05-17 0 0 2026-05-18 1 0 2026-05-19 8 0 2026-05-20 4 0 2026-05-21 0 0 2026-05-22 7 0 2026-05-23 1 0 2026-05-24 3 0 2026-05-25 9 0 2026-05-26 5 0 2026-05-27 1 0 2026-05-28 8 0 2026-05-29 4 0 2026-05-30 0 0 2026-05-31 2 0 2026-06-01 6 0 2026-06-02 2 0 2026-06-03 9 0 2026-06-04 5 0 2026-06-05 1 0 2026-06-06 2 0 2026-06-07 1 0 2026-06-08 3 0 2026-06-09 10 0 2026-06-10 6 0 2026-06-11 2 0 2026-06-12 9 0 2026-06-13 1 0 2026-06-14 0 0 2026-06-15 0 0 2026-06-16 7 0 2026-06-17 3 0 2026-06-18 10 0 2026-06-19 6 0 2026-06-20 0 0 2026-06-21 3 0 2026-06-22 8 0 2026-06-23 4 0 2026-06-24 0 0 2026-06-25 7 0 2026-06-26 3 0 2026-06-27 3 0 2026-06-28 2 0 2026-06-29 5 0 2026-06-30 1 0 2026-07-01 8 0 2026-07-02 4 0 2026-07-03 0 0 2026-07-04 2 0 2026-07-05 1 0 2026-07-06 2 0 2026-07-07 9 0 2026-07-08 5 0 2026-07-09 1 0 2026-07-10 8 0 2026-07-11 1 0 2026-07-12 0 0 2026-07-13 10 0 2026-07-14 6 0 2026-07-15 2 0 2026-07-16 9 0 2026-07-17 5 0 2026-07-18 0 0 2026-07-19 2 0 2026-07-20 7 0 2026-07-21 3 0 2026-07-22 10 0 2026-07-23 6 0 2026-07-24 2 0 2026-07-25 3 0 2026-07-26 1 0 2026-07-27 4 0 2026-07-28 0 0 2026-07-29 7 0 2026-07-30 3 0 2026-07-31 10 0 2026-08-01 2 0 2026-08-02 0 0 2026-08-03 1 0 2026-08-04 8 0 2026-08-05 4 0 2026-08-06 0 0 2026-08-07 7 0 2026-08-08 1 0 2026-08-09 3 0 2026-08-10 9 0 2026-08-11 5 0 2026-08-12 1 0 2026-08-13 8 0 2026-08-14 4 0 2026-08-15 0 0 2026-08-16 2 0 2026-08-17 6 0 2026-08-18 2 0 2026-08-19 9 0 2026-08-20 5 0 2026-08-21 1 0 2026-08-22 2 0 2026-08-23 1 0 2026-08-24 3 0 2026-08-25 10 0 2026-08-26 6 0 2026-08-27 2 0 2026-08-28 9 0 2026-08-29 1 0 2026-08-30 0 0 2026-08-31 0 0 2026-09-01 7 0 2026-09-02 3 0 2026-09-03 10 0 2026-09-04 6 0 2026-09-05 0 0 2026-09-06 3 0 2026-09-07 8 0 2026-09-08 4 0 2026-09-09 0 0 2026-09-10 7 0 2026-09-11 3 0 2026-09-12 3 0 2026-09-13 2 0 2026-09-14 5 0 2026-09-15 1 0 2026-09-16 8 0 2026-09-17 4 0 2026-09-18 0 0 2026-09-19 2 0 2026-09-20 1 0 2026-09-21 2 0 2026-09-22 9 0 2026-09-23 5 0 2026-09-24 1 0 2026-09-25 8 0 2026-09-26 1 0 2026-09-27 0 0
mode="precision" Contributions Contributions
Contributions date count level 2026-03-30 0 0 2026-03-31 7 0 2026-04-01 3 0 2026-04-02 10 0 2026-04-03 6 0 2026-04-04 0 0 2026-04-05 3 0 2026-04-06 8 0 2026-04-07 4 0 2026-04-08 0 0 2026-04-09 7 0 2026-04-10 3 0 2026-04-11 3 0 2026-04-12 2 0 2026-04-13 5 0 2026-04-14 1 0 2026-04-15 8 0 2026-04-16 4 0 2026-04-17 0 0 2026-04-18 2 0 2026-04-19 1 0 2026-04-20 2 0 2026-04-21 9 0 2026-04-22 5 0 2026-04-23 1 0 2026-04-24 8 0 2026-04-25 1 0 2026-04-26 0 0 2026-04-27 10 0 2026-04-28 6 0 2026-04-29 2 0 2026-04-30 9 0 2026-05-01 5 0 2026-05-02 0 0 2026-05-03 2 0 2026-05-04 7 0 2026-05-05 3 0 2026-05-06 10 0 2026-05-07 6 0 2026-05-08 2 0 2026-05-09 3 0 2026-05-10 1 0 2026-05-11 4 0 2026-05-12 0 0 2026-05-13 7 0 2026-05-14 3 0 2026-05-15 10 0 2026-05-16 2 0 2026-05-17 0 0 2026-05-18 1 0 2026-05-19 8 0 2026-05-20 4 0 2026-05-21 0 0 2026-05-22 7 0 2026-05-23 1 0 2026-05-24 3 0 2026-05-25 9 0 2026-05-26 5 0 2026-05-27 1 0 2026-05-28 8 0 2026-05-29 4 0 2026-05-30 0 0 2026-05-31 2 0 2026-06-01 6 0 2026-06-02 2 0 2026-06-03 9 0 2026-06-04 5 0 2026-06-05 1 0 2026-06-06 2 0 2026-06-07 1 0 2026-06-08 3 0 2026-06-09 10 0 2026-06-10 6 0 2026-06-11 2 0 2026-06-12 9 0 2026-06-13 1 0 2026-06-14 0 0 2026-06-15 0 0 2026-06-16 7 0 2026-06-17 3 0 2026-06-18 10 0 2026-06-19 6 0 2026-06-20 0 0 2026-06-21 3 0 2026-06-22 8 0 2026-06-23 4 0 2026-06-24 0 0 2026-06-25 7 0 2026-06-26 3 0 2026-06-27 3 0 2026-06-28 2 0 2026-06-29 5 0 2026-06-30 1 0 2026-07-01 8 0 2026-07-02 4 0 2026-07-03 0 0 2026-07-04 2 0 2026-07-05 1 0 2026-07-06 2 0 2026-07-07 9 0 2026-07-08 5 0 2026-07-09 1 0 2026-07-10 8 0 2026-07-11 1 0 2026-07-12 0 0 2026-07-13 10 0 2026-07-14 6 0 2026-07-15 2 0 2026-07-16 9 0 2026-07-17 5 0 2026-07-18 0 0 2026-07-19 2 0 2026-07-20 7 0 2026-07-21 3 0 2026-07-22 10 0 2026-07-23 6 0 2026-07-24 2 0 2026-07-25 3 0 2026-07-26 1 0 2026-07-27 4 0 2026-07-28 0 0 2026-07-29 7 0 2026-07-30 3 0 2026-07-31 10 0 2026-08-01 2 0 2026-08-02 0 0 2026-08-03 1 0 2026-08-04 8 0 2026-08-05 4 0 2026-08-06 0 0 2026-08-07 7 0 2026-08-08 1 0 2026-08-09 3 0 2026-08-10 9 0 2026-08-11 5 0 2026-08-12 1 0 2026-08-13 8 0 2026-08-14 4 0 2026-08-15 0 0 2026-08-16 2 0 2026-08-17 6 0 2026-08-18 2 0 2026-08-19 9 0 2026-08-20 5 0 2026-08-21 1 0 2026-08-22 2 0 2026-08-23 1 0 2026-08-24 3 0 2026-08-25 10 0 2026-08-26 6 0 2026-08-27 2 0 2026-08-28 9 0 2026-08-29 1 0 2026-08-30 0 0 2026-08-31 0 0 2026-09-01 7 0 2026-09-02 3 0 2026-09-03 10 0 2026-09-04 6 0 2026-09-05 0 0 2026-09-06 3 0 2026-09-07 8 0 2026-09-08 4 0 2026-09-09 0 0 2026-09-10 7 0 2026-09-11 3 0 2026-09-12 3 0 2026-09-13 2 0 2026-09-14 5 0 2026-09-15 1 0 2026-09-16 8 0 2026-09-17 4 0 2026-09-18 0 0 2026-09-19 2 0 2026-09-20 1 0 2026-09-21 2 0 2026-09-22 9 0 2026-09-23 5 0 2026-09-24 1 0 2026-09-25 8 0 2026-09-26 1 0 2026-09-27 0 0
substrate="green" Contributions Contributions
Contributions date count level 2026-03-30 0 0 2026-03-31 7 0 2026-04-01 3 0 2026-04-02 10 0 2026-04-03 6 0 2026-04-04 0 0 2026-04-05 3 0 2026-04-06 8 0 2026-04-07 4 0 2026-04-08 0 0 2026-04-09 7 0 2026-04-10 3 0 2026-04-11 3 0 2026-04-12 2 0 2026-04-13 5 0 2026-04-14 1 0 2026-04-15 8 0 2026-04-16 4 0 2026-04-17 0 0 2026-04-18 2 0 2026-04-19 1 0 2026-04-20 2 0 2026-04-21 9 0 2026-04-22 5 0 2026-04-23 1 0 2026-04-24 8 0 2026-04-25 1 0 2026-04-26 0 0 2026-04-27 10 0 2026-04-28 6 0 2026-04-29 2 0 2026-04-30 9 0 2026-05-01 5 0 2026-05-02 0 0 2026-05-03 2 0 2026-05-04 7 0 2026-05-05 3 0 2026-05-06 10 0 2026-05-07 6 0 2026-05-08 2 0 2026-05-09 3 0 2026-05-10 1 0 2026-05-11 4 0 2026-05-12 0 0 2026-05-13 7 0 2026-05-14 3 0 2026-05-15 10 0 2026-05-16 2 0 2026-05-17 0 0 2026-05-18 1 0 2026-05-19 8 0 2026-05-20 4 0 2026-05-21 0 0 2026-05-22 7 0 2026-05-23 1 0 2026-05-24 3 0 2026-05-25 9 0 2026-05-26 5 0 2026-05-27 1 0 2026-05-28 8 0 2026-05-29 4 0 2026-05-30 0 0 2026-05-31 2 0 2026-06-01 6 0 2026-06-02 2 0 2026-06-03 9 0 2026-06-04 5 0 2026-06-05 1 0 2026-06-06 2 0 2026-06-07 1 0 2026-06-08 3 0 2026-06-09 10 0 2026-06-10 6 0 2026-06-11 2 0 2026-06-12 9 0 2026-06-13 1 0 2026-06-14 0 0 2026-06-15 0 0 2026-06-16 7 0 2026-06-17 3 0 2026-06-18 10 0 2026-06-19 6 0 2026-06-20 0 0 2026-06-21 3 0 2026-06-22 8 0 2026-06-23 4 0 2026-06-24 0 0 2026-06-25 7 0 2026-06-26 3 0 2026-06-27 3 0 2026-06-28 2 0 2026-06-29 5 0 2026-06-30 1 0 2026-07-01 8 0 2026-07-02 4 0 2026-07-03 0 0 2026-07-04 2 0 2026-07-05 1 0 2026-07-06 2 0 2026-07-07 9 0 2026-07-08 5 0 2026-07-09 1 0 2026-07-10 8 0 2026-07-11 1 0 2026-07-12 0 0 2026-07-13 10 0 2026-07-14 6 0 2026-07-15 2 0 2026-07-16 9 0 2026-07-17 5 0 2026-07-18 0 0 2026-07-19 2 0 2026-07-20 7 0 2026-07-21 3 0 2026-07-22 10 0 2026-07-23 6 0 2026-07-24 2 0 2026-07-25 3 0 2026-07-26 1 0 2026-07-27 4 0 2026-07-28 0 0 2026-07-29 7 0 2026-07-30 3 0 2026-07-31 10 0 2026-08-01 2 0 2026-08-02 0 0 2026-08-03 1 0 2026-08-04 8 0 2026-08-05 4 0 2026-08-06 0 0 2026-08-07 7 0 2026-08-08 1 0 2026-08-09 3 0 2026-08-10 9 0 2026-08-11 5 0 2026-08-12 1 0 2026-08-13 8 0 2026-08-14 4 0 2026-08-15 0 0 2026-08-16 2 0 2026-08-17 6 0 2026-08-18 2 0 2026-08-19 9 0 2026-08-20 5 0 2026-08-21 1 0 2026-08-22 2 0 2026-08-23 1 0 2026-08-24 3 0 2026-08-25 10 0 2026-08-26 6 0 2026-08-27 2 0 2026-08-28 9 0 2026-08-29 1 0 2026-08-30 0 0 2026-08-31 0 0 2026-09-01 7 0 2026-09-02 3 0 2026-09-03 10 0 2026-09-04 6 0 2026-09-05 0 0 2026-09-06 3 0 2026-09-07 8 0 2026-09-08 4 0 2026-09-09 0 0 2026-09-10 7 0 2026-09-11 3 0 2026-09-12 3 0 2026-09-13 2 0 2026-09-14 5 0 2026-09-15 1 0 2026-09-16 8 0 2026-09-17 4 0 2026-09-18 0 0 2026-09-19 2 0 2026-09-20 1 0 2026-09-21 2 0 2026-09-22 9 0 2026-09-23 5 0 2026-09-24 1 0 2026-09-25 8 0 2026-09-26 1 0 2026-09-27 0 0
ground="cyanotype" The chart above, in each framework. Pick a framework once and every example on the site follows it. One row per day; the grid shows the most recent `weeks`.
React Vue Angular Reflex
npm install @silverpoint/react @silverpoint/grounds @silverpoint/fontsimport '@silverpoint/fonts/fonts.css';
import '@silverpoint/grounds/styles.css';
import { ActivityGrid } from '@silverpoint/react/activity-grid';
const data = [
{ date: '2026-03-30', count: 0 },
{ date: '2026-03-31', count: 7 },
{ date: '2026-04-01', count: 3 },
{ date: '2026-04-02', count: 10 },
{ date: '2026-04-03', count: 6 },
{ date: '2026-04-04', count: 0 },
{ date: '2026-04-05', count: 3 },
{ date: '2026-04-06', count: 8 },
{ date: '2026-04-07', count: 4 },
{ date: '2026-04-08', count: 0 },
{ date: '2026-04-09', count: 7 },
{ date: '2026-04-10', count: 3 },
// … 170 more rows of the same shape
];
export default function App() {
return (
<div style={{ width: 480 }}>
<ActivityGrid
data={data}
dateKey="date"
countKey="count"
title="Contributions"
weeks={26}
/>
</div>
);
}npm install @silverpoint/vue @silverpoint/grounds @silverpoint/fonts<script setup lang="ts">
import '@silverpoint/fonts/fonts.css';
import '@silverpoint/grounds/styles.css';
import { SpActivityGrid } from '@silverpoint/vue/activity-grid';
const data = [
{ date: '2026-03-30', count: 0 },
{ date: '2026-03-31', count: 7 },
{ date: '2026-04-01', count: 3 },
{ date: '2026-04-02', count: 10 },
{ date: '2026-04-03', count: 6 },
{ date: '2026-04-04', count: 0 },
{ date: '2026-04-05', count: 3 },
{ date: '2026-04-06', count: 8 },
{ date: '2026-04-07', count: 4 },
{ date: '2026-04-08', count: 0 },
{ date: '2026-04-09', count: 7 },
{ date: '2026-04-10', count: 3 },
// … 170 more rows of the same shape
];
</script>
<template>
<div style="width: 480px">
<SpActivityGrid
:data="data"
date-key="date"
count-key="count"
title="Contributions"
:weeks="26"
/>
</div>
</template>npm install @silverpoint/angular @silverpoint/grounds @silverpoint/fonts// src/styles.css:
// @import '@silverpoint/fonts/fonts.css';
// @import '@silverpoint/grounds/styles.css';
import { Component } from '@angular/core';
import { SpActivityGrid } from '@silverpoint/angular/activity-grid';
@Component({
selector: 'app-root',
imports: [SpActivityGrid],
template: `
<div style="width: 480px">
<sp-activity-grid
[data]="data"
dateKey="date"
countKey="count"
title="Contributions"
[weeks]="26"
/>
</div>
`,
})
export class App {
protected readonly data = [
{ date: '2026-03-30', count: 0 },
{ date: '2026-03-31', count: 7 },
{ date: '2026-04-01', count: 3 },
{ date: '2026-04-02', count: 10 },
{ date: '2026-04-03', count: 6 },
{ date: '2026-04-04', count: 0 },
{ date: '2026-04-05', count: 3 },
{ date: '2026-04-06', count: 8 },
{ date: '2026-04-07', count: 4 },
{ date: '2026-04-08', count: 0 },
{ date: '2026-04-09', count: 7 },
{ date: '2026-04-10', count: 3 },
// … 170 more rows of the same shape
];
}pip install reflex-silverpoint-reactimport reflex as rx
from reflex_silverpoint_react import activity_grid
DATA = [
{"date": "2026-03-30", "count": 0},
{"date": "2026-03-31", "count": 7},
{"date": "2026-04-01", "count": 3},
{"date": "2026-04-02", "count": 10},
{"date": "2026-04-03", "count": 6},
{"date": "2026-04-04", "count": 0},
{"date": "2026-04-05", "count": 3},
{"date": "2026-04-06", "count": 8},
{"date": "2026-04-07", "count": 4},
{"date": "2026-04-08", "count": 0},
{"date": "2026-04-09", "count": 7},
{"date": "2026-04-10", "count": 3},
# … 170 more rows of the same shape
]
def index() -> rx.Component:
return rx.box(
activity_grid(
data=DATA,
date_key="date",
count_key="count",
title="Contributions",
weeks=26,
),
width="480px",
)
app = rx.App()
app.add_page(index)Each chart has its own subpath, so a bundle only carries the charts it uses. Every adapter also exports every chart from its barrel.
Framework Import React import { ActivityGrid } from '@silverpoint/react/activity-grid';Vue import { SpActivityGrid } from '@silverpoint/vue/activity-grid';Angular import { SpActivityGrid } from '@silverpoint/angular/activity-grid'; // <sp-activity-grid>Reflex from reflex_silverpoint_react import activity_grid
The props ActivityGrid adds to the ones every chart takes. Accessor props (…Key, keys, names) name fields of your rows and are ignored without data.
React / Angular Vue Reflex Type Description dateKeydate-keydate_keyAccessor<string>— countKeycount-keycount_keyAccessor<number | null | undefined>— levelKeylevel-keylevel_keyAccessor<number | null | undefined>— weeksweeksweeksnumberWeeks shown, the most recent last; 26 by default.
Every chart also takes these. Framework conventions: camelCase in React and Angular, kebab-case in Vue templates, snake_case in Reflex. Read more about them .
Show the 22 common props React / Angular Vue Reflex Type Description datadatadatareadonly Datum[]Rows to draw. If omitted, the demo dataset is rendered (REQ-093) and the accessor props (…_key, keys, names) are ignored. groundgroundgroundGroundRefStyle ground: silverpoint or cyanotype, or a ground object. Defaults to the app provider's, or silverpoint. substratesubstratesubstrateSubstrateNamePrepared substrate within the ground (REQ-046). modemodemodeInkModeink by default; precision disables inking (REQ-021).seedseedseedSeedSeed. If omitted, it is derived from id stably (REQ-003). idididstringStable identifier. If omitted, it is generated deterministically. heightheightheightnumberHeight of the drawing area in px. Width is the container's unless pinned. widthwidthwidthnumber— chromechromechrome'card' | 'bare'card draws the full frame; bare only the drawing area (REQ-095).hatchFillhatch-fillhatch_fill'tile' | 'per-shape'How areas are filled (REQ-029). titletitletitlestring— badgebadgebadgestring— valuevaluevaluestring | number— unitunitunitstring— footerLeftfooter-leftfooter_leftstring— footerRightfooter-rightfooter_rightstring— labellabellabelstringAccessible name. If omitted, it is derived from title (REQ-120). descriptiondescriptiondescriptionstringLong description for screen readers (REQ-120). dataTabledata-tabledata_table'visible' | 'hidden' | 'none'Tabular alternative; hidden leaves it for assistive technology only (REQ-121). localelocalelocalestring— numberFormatnumber-formatnumber_formatIntl.NumberFormatOptions— classNameclass-nameclass_namestring—
Pointer and keyboard exploration are built in. The item under the pointer or focus is reported, and a click, Enter or Space selects it. The item is { seriesKey, index, datum, value, point: { x, y } }.
Framework Active item Selection Custom readout React onActiveChangeonSelecttooltip={(item, readout) => …}Vue @active-change@select<template #tooltip>Angular (activeChange)(select)<ng-template spTooltip>Reflex on_active_changeon_selecttooltip=tooltip_template(…)
Interaction and readouts → Report it
Found something wrong with ActivityGrid ? Open an issue on GitHub — the form comes pre-filled with the chart and the version.