库可在 SwiftUI 中构建图表

SwiftUI 图表

这是一个在 SwiftUI 中构建图表的库。这使你能够使用 SwiftUI 原始 ViewShape 组件以及简单的声明性 API 构建图表。

演示 1 演示 2 演示 3

动机

有许多库可以在 SwiftUI 中构建图表,但其中大多数都基于 UIKit 组件。此库基于 SwiftUI 原始 ViewShape 组件。

Apple 还提供了官方库 Swift 图表,但它不是开源的,并且它使用专用的结果生成器(ChartContentBuilder)构建图表,因此不能使用 SwiftUI 的知识来构建图表。另外,它需要 iOS 16+,因此无法用于支持较早 iOS 版本的应用。

Chart SwiftUI 基于 SwiftUI 原始 ViewShape 组件,所以你可以使用 SwiftUI 知识构建图表。并且它支持 iOS 14+。

Package 结构

此程序包包含 2 个库。

  • ChartCore
    • 构建图表的核心库。
    • 目前,它仅支持 LineChart
      • 我们没有计划支持其他与 LineChart 没有相同坐标系的图表。
  • LineChart
    • 使用 ChartCore 构建折线图的库。

概念

我们希望让 ChartCore 尽可能简单。而 LineChart 只提供构建折线图的基本组件,这些组件并不一定能够构建折线图。

我们希望你使用 SwiftUI ViewShape 组件通过 ChartCore(和 LineChart)构建你自己的各种图表。

此存储库包含 Examples 目录下的部分示例。你可以通过阅读这些示例来了解如何使用 ChartCore(和 LineChart)构建图表。几乎所有示例都包含 LineChart 不提供的自定义图表。

如何使用

你可以使用 Swift 包管理器安装 ChartCoreLineChart

dependencies: [
    .package(url: "https://github.com/kouzoh/swiftui-chart.git", from: "0.1.0"),
],
targets: [
    .target(
        name: "YourTarget",
        dependencies: [
            .product(name: "LineChart", package: "SwiftUIChart"),
            // ChartCore is automatically imported if you import LineChart.
            .product(name: "ChartCore", package: "SwiftUIChart"),
        ]
    ),
]

你还可以通过打开 SwiftUIChart.xcworkspace 并运行 Example 方案来查看示例。

许可证

版权所有 2023 Mercari, Inc.

根据 MIT 许可证授予许可。

Swift 和 SwiftUI 是 Apple Inc. 的注册商标。

GitHub

点击跳转