Skip to main content

Charts

In the portal: Nothing. The atom's type decides its chart, so the choice is made in Settings, then Atoms.

What it is​

A chart appears when a participant taps into one row on their Progress page. It draws that one thing over time.

You do not choose a chart. There is no chart picker, no chart settings and no place to say "show this as a bar". The chart is decided by the kind of answer the atom captures, and the kind of answer is decided by the atom's type. Choose the atom type well and the chart follows.

What it looks like​

Answers get one of four charts. Which of the four depends on two things: what kind of answer it is, and how far back the participant is looking.

Pick a choice answer, then a number, then health data. Switch the range between short and long on each one and watch the same answers redraw.
What was capturedDay, week, monthThree months, six months, year
A choice from a setA scatter, one row per optionStacked columns
A numberA lineRange bars

Health data gets one of two. Daily totals such as steps draw as bars. Point-in-time readings such as heart rate draw as a line. That follows from the kind of measurement it is, so nothing needs setting.

A scored sequence also gets a score line, drawn above the individual atoms, with its score bands shaded behind it where the sequence has bands.

When it matters​

A worked example. A tenancy is designing a weekly check-in and has to decide how to ask about sleep quality. Asking with a 1 to 10 slider gives the participant a line they can read at a glance, rising or falling. Asking with a five-option choice gives them a scatter of coloured rows, which shows the mix but not the direction.

Neither is wrong. The point is that the decision was made when the atom type was chosen, weeks before anybody looked at a chart, and it cannot be changed afterwards without changing the question.

What each atom type charts as​

Atom typeWhat it charts asNotes
number, slidera numberThe authored min and max pin the axis.
single_select, multi_selecta choice from a setOne row per authored option.
booleana choice from a setTwo rows, one per answer.
text, datetime, breathing, blood_pressurea single rowThe row is Responded. The chart records that it happened rather than what was said, so choose a number, a slider or a select type where the value itself has to trend.
content, asset, buttonnothingThese capture no value, so there is nothing to chart.

A sequence with no chartable atom in it still gets one chart. The page falls back to a single row saying the participant responded, so there is a record of turning up rather than nothing at all. That single row is what reading material produces, so track a sequence for the answers in it. See Tracked and untracked.

The controls​

You do not configure a chart. You configure the atom, and four of its settings reach the chart.

SettingWhereWhat changes on the chart
the atom's typethe atomWhich of the four charts it gets, per the table above. It applies retrospectively, because the chart is derived from the atom as it is now: turning a slider into a set of options redraws the whole history in the new shape.
min, maxa number or slider atomPins the vertical axis to that scale, so a 1 to 10 answer of 4 to 6 reads as the middle of its range rather than filling the chart.
optionsa single_select or multi_select atomThe rows of the chart, in the order you authored them.
the sequence's scoring and bandsthe sequenceWhether a score line is drawn, and what is shaded behind it.

Pinning an axis never hides a value. If a value comes in outside the authored scale, the axis stretches to include it. An answer is never dropped off the top of a chart.

Options are never re-sorted. The rows come out in the order you wrote them, not alphabetically and not by score. If the order matters to how the chart reads, that is a decision you make while authoring.

How it renders​

Six time ranges, always all six. D, W, M, 3M, 6M and Y. The ladder is fixed for every tenancy, so every participant has the same six ranges to move between whatever data they hold.

The range decides the chart. Up to a month, every occurrence draws its own mark. Past that, marks are counted into buckets: weeks at three and six months, months at a year. The switch is the range alone, so the same atom never changes chart shape between two visits. Somebody who watched their check-in draw as a line last week sees a line this week.

Buckets are complete, and an absence is not a zero. Every bucket in the range is on the axis whether or not anything fell in it. An empty one draws no mark rather than a mark at zero, so a fortnight of silence reads as a fortnight of silence.

One data point still draws a chart. A single answer gives a single dot or a single bar, with the axis still spanning the whole range. The one exception is the score line, below.

An answer plots at the occurrence it answers, never at the moment of typing. An answer filled in on Friday for Tuesday's occurrence sits on Tuesday. This is the same rule the rest of the platform follows, and it means a participant catching up on a week of check-ins does not get a wall of marks on the day they caught up.

Occurrences that were missed are drawn. An occurrence that came and went unanswered appears as a hollow ring, keyed as Unresponded. The chart is expanded from the schedule rather than from the answers, so it shows the gaps as well as the answers.

The chart is drawn from the phone's own copy. Nothing on the Progress page calls out to the platform, so a chart is as current as the last sync, which is usually the moment the app was opened.

Two empty states, and they say different things.

What the participant seesWhat it means
Nothing scheduled in this periodNothing was ever due in that range, so there is nothing to have answered.
No data for this periodOn a health chart, no readings arrived.

The score line​

A scored sequence draws a line of its scores above the individual atoms. The axis is pinned to the range the scoring can produce, where that range can be worked out, and otherwise to the span of the scores themselves.

It behaves differently from every other chart on this page, so it is worth knowing on its own.

Scored responses in the rangeWhat is drawn
two or moreThe score line, with bands shaded behind it if the sequence has bands.
exactly oneNo chart, and this line instead: Only one scored response in this period.
noneNothing at all.

This is the only place on Progress with a minimum. It exists because a single score is a number and not a trend, and drawing one point on a line invites the participant to read a direction that is not there.

Health charts​

One row per kind of health data, and the app decides the chart.

Progress charts eight kinds of health data: Steps, Sleep, Active energy, Flights climbed, Heart rate, Resting heart rate, HRV and Weight. Glucose, blood pressure and body temperature are not charted, so design your programme around the eight.

HRV is one row and two ways of measuring. The two phones measure heart rate variability differently. They share one label so a participant sees one row, and the detail page says which method produced the numbers, because the two are never comparable with each other.

Health charts have no schedule behind them. They come from the phone rather than from anything the tenancy delivered, so there are no missed occurrences to draw and nothing to record by hand.

Next​

The atom type decides the chart, so the choice is made once while you are authoring and never has to be revisited per participant. Pin min and max on a number or a slider and the axis reads honestly at any scale.

Tracked and untracked decides which sequences reach Progress at all.

Atom types is the full set of thirteen, and the one decision that cannot be undone once an atom exists.