Skip to content

denniscmcom/stock-charts

Repository files navigation

stock-charts

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

This project is now deprecated in favor of the Apple’s native framework. At the time of archiving this project, it has accumulated 98 stars and 11 forks on Github.

StockCharts is a library to create intertactive charts in SwiftUI.

Installation

In Xcode go to File -> Swift packages -> Add package dependency Copy and paste https://github.com/denniscmartin/stock-charts.git I’ve created a demo app using StockCharts called Trades. Check out the code in my Github

Usage

import StockCharts

Line chart

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

You can customise the line chart with 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
)

To enable the drag gesture set dragGesture to true in the LineChartController

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

Capsule chart

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()
            )
    }
}

About

A library to display interactive charts in SwiftUI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •