Swift Charts Examples

An overview of the different types of charts you can make with Swift Charts

2094
134
Swift

Swift Charts Examples

This repo aims to provide sample code for lots of different chart types for you to use as inspiration for your own projects. We start by recreating the sample charts Apple uses in their sessions related to Swift Charts. The goal is to make each chart type customizable, accessible and flexible so that you can easily change it to your needs.

image

Todo

  • [ ] Add missing Charts
  • [ ] Multi-language Support
  • [ ] First row, second bar with the lines with blocks in the middle
  • [ ] Sleep stages chart
  • [ ] iPhone battery percentage screen with different colors and overlaid bar
  • [ ] Make all charts (even more) accessible

See the open issues if you think anything is missing from this list. You can also contact me on Twitter if you have any suggestions or feedback.

How to add a new chart

Each chart needs a preview chart as well as a detail view. The preview chart is used in the home screen of the app for easier navigation. Look at the Simple Line Chart code to see what the format should be for the preview charts. On the detail view, make sure you add some customisation options in a separate section from the chart. If you have any questions feel free to create an issue.

Source: https://developer.apple.com/videos/play/wwdc2022/10137/

Chart Types

Apple

Electrocardiograms (ECG)

iPhone Storage

Screen Time

Line Charts

Line Chart

Line Chart with Lollipop

Animating Line

Line with changing gradient

Line Charts

Line Point

Bar Charts

Single Bar

Single Bar with Threshold Rule Mark

Two Bars

Pyramid

Time Sheet Bar

Sound Bar

Horizontal Scrolling Bar Chart

Area Charts

Area Chart

Stacked Area Chart

Range Charts

Range Chart

Heart Rate Range Chart

Candle Stick Chart

Heat Maps

Customizable Heat Map

GitHub Contributions Graph

Point Charts

Scatter Chart

Vector Field

Other Example Repos

Check out my other example repos

🪧 TipKit

🏝️ Dynamic Island

🥽 visionOS