Swift패키지 · v0.1.0

KLCharts

같은 막대 차트 데이터를Swift Charts평면 모드 또는Canvas입체 모드로 표시합니다.

KLCharts는 `.flat`과 `.dimensional` 두 가지 막대 차트를 제공합니다. 선택 상태, 숫자 형식, 색상, 원본 데이터, 화면 이동은 앱에서 관리합니다. 패키지는 그리기, 모드 전환, 탭 판정, 항목이 많을 때의 가로 스크롤을 담당합니다.

지원OS
iOS 17+ · macOS 14+
개발 환경
Swift 6.0+
라이선스
MIT
외부 의존성
없음

기능

  • 두 표시 방식에서 같은 데이터 모델 사용
  • 모드를 전환해도 주변 레이아웃 유지
  • 선택 상태와 선택 해제는 앱에서 관리
  • 입체 차트의 드래그, 시점 초기화, 탭 판정

포함하지 않는 기능

이 패키지는 앱에서 준비한 데이터를 그리는 일만 담당합니다. 데이터 집계, 현지화, 테마 결정, 선택 상태 저장, 범례, 막대를 눌렀을 때의 화면 이동은 앱에서 구현해야 합니다.

SwiftPM으로 추가

Package.swiftSwift
.package(url: "https://github.com/KoenLee1023/KLCharts.git", from: "0.1.0")

사용 방법

연동 예제Swift
KLDimensionalBarChart(
    data: data,
    mode: mode,
    emptyText: "No data",
    selectedID: selectedID,
    onSelect: { selectedID = $0.id }
)
.frame(height: 300)
KLDimensionalBarChart

두 렌더러를 계속 유지하면서 투명도와 탭 수신 여부를 바꿔 표시 모드를 전환합니다.

KLDimensionalBarDatum

막대, 그룹, 시리즈를 식별하는 안정적인ID와 표시 이름, 값, 색상을 담습니다.

KLFlatBarChartLayout

실제로 그리지 않고 가로 방향에 필요한 너비를 계산합니다.

데모 앱

Geometry Gallery

두 표시 방식에서 같은 데이터 모델 사용 · 모드를 전환해도 주변 레이아웃 유지

Interaction Lab

선택 상태와 선택 해제는 앱에서 관리 · 입체 차트의 드래그, 시점 초기화, 탭 판정