股票图表

StockCharts for SwiftUI - Display interactive stock charts easily 🎉 | Product Hunt

本项目现已弃用,建议使用 Apple 的原生框架。 在归档本项目时,它在 Github 上已积累了 98 个 star 和 11 个 fork。

StockCharts 是一个在 SwiftUI 中创建交互式图表的库。

安装

在 Xcode 中,转到“File -> Swift Packages -> Add Package Dependency”,复制并粘贴 https://github.com/denniscmartin/stock-charts.git。 我使用 StockCharts 创建了一个名为 Trades 的演示应用程序。 请在我的 Github 上查看代码

用法

import StockCharts

折线图

let lineChartController = LineChartController(prices: [Double])
LineChartView(lineChartController: lineChartController)

您可以使用 LineChartController 自定义折线图

LineChartController(
    prices: [Double],
    dates: [String]?, // format: yy-MM-dd
    hours: [String]?, // has to correspond to dates
    labelColor: Color,
    indicatorPointColor: Color,
    showingIndicatorLineColor: Color,
    flatTrendLineColor: Color,
    uptrendLineColor: Color,
    downtrendLineColor: Color,
    dragGesture: Bool
)

要在 LineChartController 中启用拖动手势,请将 dragGesture 设置为 true

LineChartView(
    lineChartController:
        LineChartController(
            prices: [Double],
            dragGesture: true
        )
)

胶囊图

CapsuleChartView(percentageOfWidth: CGFloat)
// percentageOfWidth: must be 0 <= x <= 1
import SwiftUI
import StockCharts

struct ContentView: View {
    var body: some View {
        RoundedRectangle(cornerRadius: 25)
            .frame(width: 400, height: 120)
            .foregroundColor(.white)
            .shadow(color: Color(.gray).opacity(0.15), radius: 10)
            .overlay(
                VStack(alignment: .leading) {
                    Text("Dennis Concepcion")
                        .font(.title3)
                        .fontWeight(.semibold)

                    Text("Random guy")

                    CapsuleChartView(percentageOfWidth: 0.6, style: CapsuleChartStyle(capsuleColor: Color.blue))
                        .padding(.top)
                }
                .padding()
            )
    }
}