Skip to course content
Free data visualization course

Data Visualization and Dashboard Storytelling

Unit 11.00: Interactivity that answers a second question

Interactivity earns its place when readers have different second questions.

Static unless the second question varies

Five reader questions, sorted by whether interaction answers them better than a static chart.

The code sorts them.

QUESTIONS = [
    ("which region is largest?",          "static",      "one glance, no interaction"),
    ("what was North in week 32?",        "interactive", "hover answers it"),
    ("how do these six regions compare?", "static",      "small multiples do it better"),
    ("what does this look like for one store?", "interactive",
     "a filter answers a question per reader"),
    ("is the trend up?",                  "static",      "the shape is the answer"),
]
print(f"{'reader question':40} {'needs':12} why")
for question, kind, why in QUESTIONS:
    print(f"{question:40} {kind:12} {why}")

static = sum(1 for _, k, _ in QUESTIONS if k == "static")
print(f"\n{static} of {len(QUESTIONS)} are answered better by a static chart")

# Interactivity earns its place when readers have DIFFERENT second questions.
# When they all have the same one, answer it in the chart and save everyone
# the clicking.

Three of the five are better as static charts. "Is the trend up?" is answered by the shape - adding a hover makes the reader work for something they already had.

The two that justify interaction share a property: different readers want different things. One wants week 32, another wants week 8; one wants their own store. When everyone wants the same follow-up, answer it in the chart.

The mistake this prevents

The mistake is adding interactivity because the tool offers it. Every control is a decision the reader now has to make, and most readers make it by not touching anything - so the default view is what almost everyone sees.

Takeaway

Use interaction when readers' second questions differ. When they all want the same follow-up, answer it in the chart and save everyone the clicking.