<!--
{
  "availability" : [
    "iOS: 16.0 -",
    "iPadOS: 16.0 -",
    "macCatalyst: 16.0 -",
    "macOS: 13.0 -",
    "tvOS: 16.0 -",
    "visionOS: 1.0 -",
    "watchOS: 9.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Charts",
  "identifier" : "/documentation/Charts",
  "metadataVersion" : "0.1.0",
  "role" : "Framework",
  "symbol" : {
    "kind" : "Framework",
    "modules" : [
      "Swift Charts"
    ],
    "preciseIdentifier" : "Charts"
  },
  "title" : "Swift Charts"
}
-->

# Swift Charts

Construct and customize charts on every Apple platform.

## Overview

Swift Charts is a powerful and concise SwiftUI framework you can use to transform your
data into informative visualizations. With Swift Charts, you can build effective and customizable
charts with minimal code. This framework provides marks, scales, axes, and legends
as building blocks that you can combine to develop a broad range of data-driven charts.

![A graphic showing three charts built with Swift Charts: a line chart, a bar chart, and a scatter plot.](images/com.apple.Charts/FrameworkOverview@2x.png)

There are many ways you can use Swift Charts to communicate patterns or trends in
your data. You can create a variety of charts including line charts, bar charts,
and scatter plots as shown above. When you create a chart using this framework, it
automatically generates scales and axes that fit your data.

Swift Charts supports localization and accessibility features.
You can also override default behavior to customize your charts by using chart
modifiers. For example, you can create a dynamic experience by
adding animations to your charts.

## Topics

### Essentials

  <doc://com.apple.documentation/documentation/Updates/SwiftCharts>

### Charts

[Creating a chart using Swift Charts](/documentation/Charts/Creating-a-chart-using-Swift-Charts)

Make a chart by combining chart building blocks in SwiftUI.

[Visualizing your app’s data](/documentation/Charts/visualizing-your-app-s-data)

Build complex and interactive charts using Swift Charts.

[`struct Chart`](/documentation/Charts/Chart)

A SwiftUI view that displays a chart.

[`protocol ChartContent`](/documentation/Charts/ChartContent)

A type that represents the content that you draw on a chart.

[`struct ChartContentBuilder`](/documentation/Charts/ChartContentBuilder)

A result builder that you use to compose the contents of a chart.

[`struct Plot`](/documentation/Charts/Plot)

A mechanism for grouping chart contents into a single entity.

### 3D charts

[`struct Chart3D`](/documentation/Charts/Chart3D)

A SwiftUI view that displays interactive 3D charts and visualizations.

[`protocol Chart3DContent`](/documentation/Charts/Chart3DContent)

A type that represents the three-dimensional content that you draw on a chart.

[`struct Chart3DContentBuilder`](/documentation/Charts/Chart3DContentBuilder)

A result builder that you use to compose the three-dimensional contents of a chart.

[`struct SurfacePlot`](/documentation/Charts/SurfacePlot)

Chart content that represents a mathematical function of two variables using a 3D surface.

### Marks

[`struct AreaMark`](/documentation/Charts/AreaMark)

Chart content that represents data using the area of one or more regions.

[`struct LineMark`](/documentation/Charts/LineMark)

Chart content that represents data using a sequence of connected line segments.

[`struct PointMark`](/documentation/Charts/PointMark)

Chart content that represents data using points.

[`struct RectangleMark`](/documentation/Charts/RectangleMark)

Chart content that represents data using rectangles.

[`struct RuleMark`](/documentation/Charts/RuleMark)

Chart content that represents data using a single horizontal or vertical rule.

[`struct BarMark`](/documentation/Charts/BarMark)

Chart content that represents data using bars.

[`struct SectorMark`](/documentation/Charts/SectorMark)

A sector of a pie or donut chart, which shows how individual categories make up a meaningful total.

### Vectorized plots

[Creating a data visualization dashboard with Swift Charts](/documentation/Charts/creating-a-data-visualization-dashboard-with-swift-charts)

Visualize an entire data collection efficiently by instantiating a single vectorized plot in Swift Charts.

[`struct AreaPlot`](/documentation/Charts/AreaPlot)

Chart content that represents a function or a collection of data using the area of one or more regions.

[`struct LinePlot`](/documentation/Charts/LinePlot)

Chart content that represents a function or a collection of data using a sequence of connected line segments.

[`struct PointPlot`](/documentation/Charts/PointPlot)

Chart content that represents a collection of data using points.

[`struct RectanglePlot`](/documentation/Charts/RectanglePlot)

Chart content that represents a collection of data using rectangles.

[`struct RulePlot`](/documentation/Charts/RulePlot)

Chart content that represents a collection of data using a single horizontal or vertical rule.

[`struct BarPlot`](/documentation/Charts/BarPlot)

Chart content that represents a collection of data using bars.

[`struct SectorPlot`](/documentation/Charts/SectorPlot)

Chart content that represents a collection of data using a sector of a pie or donut chart,
which shows how individual categories make up a meaningful total.

[`protocol VectorizedChartContent`](/documentation/Charts/VectorizedChartContent)

A generic type that represents content conveyed via a chart.

### Mark configuration

[`struct MarkStackingMethod`](/documentation/Charts/MarkStackingMethod)

The ways in which you can stack marks in a chart.

[`struct MarkDimension`](/documentation/Charts/MarkDimension)

An individual dimension representing a mark’s width or height.

[`struct InterpolationMethod`](/documentation/Charts/InterpolationMethod)

The ways in which line or area marks interpolate their data.

[`struct BasicChartSymbolShape`](/documentation/Charts/BasicChartSymbolShape)

A basic chart symbol shape.

[`protocol ChartSymbolShape`](/documentation/Charts/ChartSymbolShape)

A type that can act as a shape for the marks that you add to a chart.

[`struct AnyChartSymbolShape`](/documentation/Charts/AnyChartSymbolShape)

A type-erased plotting shape.

### Labeled data

[`struct PlottableValue`](/documentation/Charts/PlottableValue)

Labeled data that you plot in a chart using marks.

[`protocol Plottable`](/documentation/Charts/Plottable)

A type that can serve as data to plot in a chart.

### Scales

[`protocol ScaleRange`](/documentation/Charts/ScaleRange)

A type that you can use to configure the range of a chart.

[`protocol PositionScaleRange`](/documentation/Charts/PositionScaleRange)

A type that configures the x-axis and y-axis values.

[`struct PlotDimensionScaleRange`](/documentation/Charts/PlotDimensionScaleRange)

A range that represents the plot area’s width or height.

[`protocol ScaleDomain`](/documentation/Charts/ScaleDomain)

A type that you can use to configure the domain of a chart.

[`struct AutomaticScaleDomain`](/documentation/Charts/AutomaticScaleDomain)

A domain that the chart infers from its data.

[`struct ScaleType`](/documentation/Charts/ScaleType)

The ways you can scale the domain or range of a plot.

### Axes

[Customizing axes in Swift Charts](/documentation/Charts/Customizing-axes-in-Swift-Charts)

Improve the clarity of your chart by configuring the appearance of its axes.

[`struct ChartAxisContent`](/documentation/Charts/ChartAxisContent)

A view that represents a chart’s axis.

[`protocol AxisContent`](/documentation/Charts/AxisContent)

A type that represents the elements you use to build a chart’s axes.

[`struct AxisMarks`](/documentation/Charts/AxisMarks)

A group of visual marks that a chart draws to indicate the
composition of a chart’s axes.

[`struct AnyAxisContent`](/documentation/Charts/AnyAxisContent)

A type-erased element of a chart’s axis.

[`struct AxisContentBuilder`](/documentation/Charts/AxisContentBuilder)

A result builder that constructs axis content.

### Axis marks

[`protocol AxisMark`](/documentation/Charts/AxisMark)

A type that serves as the basic building block for the elements of an axis.

[`struct AxisTick`](/documentation/Charts/AxisTick)

A mark that a chart draws on an axis to indicate a reference point along that axis.

[`struct AxisGridLine`](/documentation/Charts/AxisGridLine)

A line that a chart draws across its plot area to indicate a reference point
along a particular axis.

[`struct AxisValueLabel`](/documentation/Charts/AxisValueLabel)

A label that describes the value for an axis mark.

[`struct AxisValue`](/documentation/Charts/AxisValue)

A value for an axis mark.

[`struct AnyAxisMark`](/documentation/Charts/AnyAxisMark)

A type-erased axis mark.

[`struct AxisMarkBuilder`](/documentation/Charts/AxisMarkBuilder)

A result builder that constructs axis marks and overrides default marks.

### Annotations

[`struct AnnotationContext`](/documentation/Charts/AnnotationContext)

Information about an item that you add an annotation to.

[`struct AnnotationPosition`](/documentation/Charts/AnnotationPosition)

The position of an annotation.

[`struct AnnotationOverflowResolution`](/documentation/Charts/AnnotationOverflowResolution)

### Data bins

[`struct NumberBins`](/documentation/Charts/NumberBins)

A collection of bins for a chart that plots data against numbers.

[`struct DateBins`](/documentation/Charts/DateBins)

A collection of bins for a chart that plots data against dates.

[`struct ChartBinRange`](/documentation/Charts/ChartBinRange)

The range of data that a single bin of a chart represents.

### Chart management

[`struct ChartPlotContent`](/documentation/Charts/ChartPlotContent)

A view that represents a chart’s plot area.

[`struct ChartProxy`](/documentation/Charts/ChartProxy)

A proxy that you use to access the scales and plot area of a chart.

### Scrolling

[`protocol ChartScrollTargetBehavior`](/documentation/Charts/ChartScrollTargetBehavior)

A type that configures the scroll behavior of charts.

[`struct ChartScrollTargetBehaviorContext`](/documentation/Charts/ChartScrollTargetBehaviorContext)

Contextual information that you can use to determine how to best adjust how charts scroll.

### Structures

[`struct Chart3DRenderingStyle`](/documentation/Charts/Chart3DRenderingStyle)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)