Sankey — библиотека для SwiftUI, которая позволяет рисовать диаграммы Санки (это тип блок-схемы, на которой ширина стрелок пропорциональна данным). Есть возможность строить графики для нескольких уровней, менять цвета или использовать градиенты, менять стиль меток, толщину нод и пр.
Пример использования:
import Sankey import SwiftUI struct ReadMeView: View { // Create some data @State var data: [SankeyLink] = [ // Option A: ExpressibleByArrayLiteral ["A", "X", "5"], ["A", "Y", "7"], ["A", "Z", "6"], ["B", "X", "2"], ["B", "Y", "9"], ["B", "Z", "4"] ] var body: some View { GeometryReader { geo in VStack(spacing: 20) { Text("Sankeys in SwiftUI!") .font(.title3.bold()) .padding(.top, 20) // Native SwiftUI Component SankeyDiagram( data, nodeLabelFontSize: 50, nodeInteractivity: true, linkColorMode: .gradient, tooltipTextFontSize: 50 ) // Will take up full View, unless you constrain it... .frame(height: geo.size.height * 0.5) Button { data.append( // Option B: Struct SankeyLink(source: "C", target: "X", value: 3) ) } label: { Text("Add a new link") } Text("Lorem Ipsum...") } } } }