Chapter 8
Implementing Path and Shape for Line Drawing and Pie Charts
For experienced developers, you probably have used the Core Graphics APIs to draw shapes and objects. It's a very powerful framework for you to create vector-based drawings. SwiftUI also provides several vector drawing APIs for developers to draw lines and shapes.
In this chapter, you will learn about drawing lines, arcs, pie charts, and donut charts using the Path and built-in Shape APIs in SwiftUI. The topics covered in this chapter include:
- Understanding the
Pathtype and how to draw lines - Exploring the
Shapeprotocol and creating custom shapes by conforming to the protocol - Drawing a pie chart
- Creating a progress indicator with an open circle
- Drawing a donut chart
Figure 1 provides a visual representation of the shapes and charts that we will be creating in this chapter.

Understanding Path
In SwiftUI, you can draw lines and shapes using the Path struct. According to Apple's documentation (https://developer.apple.com/documentation/swiftui/path), a Path is a struct that represents the outline of a 2D shape. It allows you to define a series of points and draw lines between them.
Let's take a look at an example using a rectangle, as shown in figure 2. We will walk through how this rectangle is drawn.
To access the full content and the complete source code, please get your copy at https://www.appcoda.com/swiftui.