Tutorials › Launch Lab Notes › Chapter 26

Same Numbers, Two Stories

LabChapter 26 of the Launch Lab Notes20 minAugust 20, 2026Intermediate

Charts don’t invent numbers. They invent emphasis.

One Harbor week of builds sits in the strip. Three frames reuse it. Only one is honest.

Filmstrip: same builds as HONEST from zero, TRUNC Y exaggerating +15, PIE pretending days are shares.

The numbers

MonTueWedThuFriSatSun
400402405408412410415

Observed strip: Δ week 15 · 3.8% vs Mon.

All three — one still

-mode all

BUILDS 400–415, Δ week 15 · 3.8%. HONEST Y from 0 mint bars. TRUNC Y domain 398–418 rose bars look huge. PIE SectorMark AS SHARE lie.

HONEST bars climb a little above a tall baseline — growth is quiet. TRUNC Y makes Monday a stub and Sunday a tower. PIE turns a time series into fake “shares.”

Truncated Y — the classic lie

-mode trunc

HONEST control Y from 0 vs TRUNC Y domain 398–418. Same data; +15 looks huge on the right. FOCUS TRUNC.
FrameY domainStory
HONEST (control)0…450+15 is a nudge
TRUNC Y398…418+15 looks like a cliff

Same BarMarks. One line of .chartYScale(domain:) is the whole trick.

Pie — wrong mark

-mode pie

HONEST bars from 0 beside PIE SectorMark with center AS SHARE lie. FOCUS PIE.

Days are not parts of a whole. SectorMark implies they are. The donut hole says it out loud: AS SHARE / lie.

Integrity is a scale choice

If the control and the truncated chart ever disagreed on the printed Δ, the demo would be cheating. They don’t — 15 and 3.8% stay fixed while the ink changes.

Mini-exercise

Change truncMin from 398 to 0. The rose chart should suddenly look like the mint one.

Challenges

  1. Add a LINE panel with a dual axis that maps builds to a 0–100 “index” without labeling the transform.
  2. Animate the Y domain from honest → truncated over two seconds so the lie unfolds live.
  3. Replace PIE with an area chart that fills to zero on a truncated domain.
  4. Export both bar charts as PNGs and diff pixel histograms.
  5. XCUITest: assert the strip shows 3.8% under -mode all.

Key Points

Next up: Widgets — timeline entries drawn as a filmstrip of future states.

SwiftUI
SwiftUI tutorials for building native app screens, layouts, navigation, and state-driven interfaces.
Swift
Swift fundamentals for app developers who want to understand the language behind real iOS and macOS apps.
Ship iOS
Shipping workflows for iOS apps.
📚 Go deeper with LIPAI WANG’s hands-on Udemy bootcampsBrowse all courses →
← Ch 25: One Uniform, Three EffectsCh 27: The Entries Ahead→
SwiftUIUltimate SwiftUI SeriesSwiftUI tutorials for building native app screens, layouts, navigation, and state-driven interfaces.SwiftUltimate Swift SeriesSwift fundamentals for app developers who want to understand the language behind real iOS and macOS apps.Ship iOSShip iOS Apps SeriesShipping workflows for iOS apps: signing, TestFlight, App Store Connect, CI, and release hygiene.

Ship your apps faster

When you're ready to publish your Swift app to the App Store, Simple App Shipper handles metadata, screenshots, TestFlight, and submissions — all in one place.

Try Simple App Shipper
5 free articles remainingSubscribe for unlimited access