How chartsorg/charts works
DGCharts is a Swift charting library for Apple platforms, usable from Swift and Objective-C. Its principal workflow is that an app supplies chart entries and datasets to a chart view; the view coordinates axes, transforms and rendering to display a chart, with gestures supporting zooming and highlighting. The library also provides formatting, animation, markers and multiple chart families. The graph uses the README and SOURCE INDEX references; unsampled implementation details are represented at directory level, and unverified links are dashed.
Main entry points: BarLineChartViewBase.swift Bar and line views · ChartData.swift Chart data · Renderers Chart renderers · BarChartRenderer.swift Bar renderer
Components 23
Chart data
- Entries
Source/Charts/Data/Implementations/Standard/ChartDataEntry.swift - Bar entries
Source/Charts/Data/Implementations/Standard/BarChartDataEntry.swift - Datasets
Source/Charts/Data/Implementations/Standard/ChartDataSet.swift - Bar datasets
Source/Charts/Data/Implementations/Standard/BarChartDataSet.swift - Chart data
Source/Charts/Data/Implementations/Standard/ChartData.swift
Chart views
- Bar and line views
Source/Charts/Charts/BarLineChartViewBase.swift - Base chart view
Source/Charts/Charts/ChartViewBase.swift - Chart families
Source/Charts/Charts - Combined charts
Source/Charts/Charts/CombinedChartView.swift
Rendering and layout
- Axes
Source/Charts/Components/AxisBase.swift - Y axis
Source/Charts/Components/YAxis.swift - Axis formatting
Source/Charts/Formatters/AxisValueFormatter.swift - Value formatting
Source/Charts/Formatters/ValueFormatter.swift - Chart renderers
Source/Charts/Renderers - Bar renderer
Source/Charts/Renderers/BarChartRenderer.swift - Viewport handling
Source/Charts/Utils/ViewPortHandler.swift
Interaction and presentation
- Highlight selection
Source/Charts/Highlight/Highlight.swift - Gestures and zoom
Source/Charts/Charts/BarLineChartViewBase.swift - Chart animation
Source/Charts/Animation/Animator.swift - Markers
Source/Charts/Components/Marker.swift
Other components
- App developer
- Demo selection
ChartsDemo-iOS/Swift/DemoListViewController.swift - Rendered chart
Connections 23
- App developer → Entries: provides values
- App developer → Datasets: configures data
- App developer → Bar and line views: uses chart view
- Entries → Chart data: forms data
- Bar entries → Bar datasets: populates
Source/Charts/Data/Implementations/Standard/BarChartDataSet.swift - Datasets → Chart data: groups datasets
- Chart data → Bar and line views: supplies chart data
- Bar and line views → Base chart view: inherits from
Source/Charts/Charts/BarLineChartViewBase.swift - Bar and line views → Y axis: uses axis
Source/Charts/Charts/BarLineChartViewBase.swift - Bar and line views → Chart renderers: draws through
Source/Charts/Charts/BarLineChartViewBase.swift - Bar and line views → Viewport handling: transforms viewport
Source/Charts/Charts/BarLineChartViewBase.swift - Bar and line views → Highlight selection: selects values
Source/Charts/Charts/BarLineChartViewBase.swift - Bar and line views → Gestures and zoom: handles gestures
Source/Charts/Charts/BarLineChartViewBase.swift - Bar renderer → Bar datasets: reads dataset
Source/Charts/Renderers/BarChartRenderer.swift - Bar renderer → Viewport handling: uses viewport
Source/Charts/Renderers/BarChartRenderer.swift - Axes → Y axis: specialized by
Source/Charts/Components/YAxis.swift - Axis formatting → Axes: formats labels
Source/Charts/Formatters/AxisValueFormatter.swift - Value formatting → Chart data: formats values
- Chart animation → Chart renderers: animates drawing
Source/Charts/Renderers/BarChartRenderer.swift - Markers → Highlight selection: presents selection
- Combined charts → Chart families: combines chart types
- Demo selection → Chart families: demonstrates charts
ChartsDemo-iOS/Swift/DemoListViewController.swift - Chart renderers → Rendered chart: draws chart