[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6817":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},6817,"ChartView","AppPear\u002FChartView","AppPear","ChartView made in SwiftUI","",null,"Swift",5631,642,96,79,0,1,7,65.62,"MIT License",false,"master",true,[25,26,27,28,29],"chart","charts","ios","swift","swiftui","2026-06-12 04:00:30","# SwiftUICharts\n\nSwiftUICharts is a composable, SwiftUI-native chart library for iOS 13+.\n\n`2.0.0` is a major release focused on immutable configuration, environment-driven composition, and modifier-based APIs.\n\n\u003Cp align=\"center\">\n\u003Cimg src=\"Resources\u002Flinevid2.gif\" width=\"30%\"\u002F> \u003Cimg src=\"Resources\u002Fbarvid2.gif\" width=\"30%\"\u002F> \u003Cimg src=\"Resources\u002Fpievid2.gif\" width=\"30%\"\u002F>\n\u003C\u002Fp>\n\n## AI Agent Quick Context\n\nUse this section when an AI agent generates code against this package.\n\n### API contract\n\n- Use only `2.x` composable APIs.\n- Do not use legacy `1.x` types or mutating chains.\n- Build charts with `ViewModifier` composition.\n- Keep data source semantics explicit:\n  - `chartData([Double])` = categorical slots\n  - `chartData([(Double, Double)])` = numeric\u002Fcontinuous domain\n\n### Use these APIs\n\n| Task | API |\n| --- | --- |\n| Set data | `chartData(...)` |\n| Set ranges | `chartXRange(...)`, `chartYRange(...)` |\n| Style chart | `chartStyle(...)` |\n| Grid config | `chartGridLines`, `chartGridStroke`, `chartGridBaseline` |\n| Axis labels\u002Fticks | `chartXAxisLabels`, `chartYAxisLabels`, `chartXAxisAutoTicks`, `chartYAxisAutoTicks` |\n| Line tuning | `chartLineWidth`, `chartLineStyle`, `chartLineMarks`, `chartLineAnimation` |\n| Shared interaction | `chartInteractionValue(...)` |\n| Callback interaction | `chartSelectionHandler { event in ... }` |\n| Streaming data | `ChartStreamingDataSource` + `chartData(stream)` |\n| Large datasets | `chartPerformance(...)` |\n\n### Avoid these legacy APIs\n\n- `LineChartView`, `BarChartView`, `PieChartView`, `MultiLineChartView`\n- `.data(...)`, `.rangeX(...)`, `.rangeY(...)`\n- `.setAxisXLabels(...)`, `.setNumberOfHorizontalLines(...)`\n- `.showChartMarks(...)` (old form)\n\n## Installation\n\nAdd with Swift Package Manager:\n\n`https:\u002F\u002Fgithub.com\u002FAppPear\u002FChartView`\n\nFor this release, use tag `2.0.0` (or `from: \"2.0.0\"` up to next major).\n\n## 30-Second Quick Start\n\n```swift\nimport SwiftUI\nimport SwiftUICharts\n\nstruct DemoView: View {\n    var body: some View {\n        AxisLabels {\n            ChartGrid {\n                LineChart()\n                    .chartData([12, 34, 23, 18, 36, 22, 26])\n                    .chartYRange(10...40)\n                    .chartLineMarks(true, color: ColorGradient(.blue, .purple))\n                    .chartStyle(\n                        ChartStyle(\n                            backgroundColor: .white,\n                            foregroundColor: ColorGradient(.blue, .purple)\n                        )\n                    )\n            }\n            .chartGridLines(horizontal: 5, vertical: 6)\n        }\n        .chartXAxisLabels([\"M\", \"T\", \"W\", \"T\", \"F\", \"S\", \"S\"])\n        .chartAxisColor(.secondary)\n        .chartAxisFont(.caption)\n        .frame(height: 220)\n        .padding()\n    }\n}\n```\n\n## Feature Recipes\n\n### 1) Mixed bar + line\n\n```swift\nAxisLabels {\n    ChartGrid {\n        BarChart()\n            .chartData([2, 4, 1, 3, 5])\n            .chartStyle(ChartStyle(backgroundColor: .white,\n                                   foregroundColor: ColorGradient(.orange, .red)))\n\n        LineChart()\n            .chartData([2, 4, 1, 3, 5])\n            .chartLineMarks(true)\n            .chartStyle(ChartStyle(backgroundColor: .white,\n                                   foregroundColor: ColorGradient(.blue, .purple)))\n    }\n    .chartGridLines(horizontal: 5, vertical: 5)\n}\n.chartXAxisLabels([(0, \"A\"), (1, \"B\"), (2, \"C\"), (3, \"D\"), (4, \"E\")], range: 0...4)\n```\n\n### 2) Shared interaction state\n\n```swift\nlet selected = ChartValue()\n\nVStack(alignment: .leading) {\n    ChartLabel(\"Weekly Sales\", type: .title)\n    ChartLabel(\"Drag bars\", type: .legend, format: \"%.1f\")\n\n    BarChart().chartData([14, 22, 18, 31, 26, 19, 24])\n}\n.chartInteractionValue(selected)\n```\n\n### 3) Callback-based interaction\n\n```swift\nBarChart()\n    .chartData([8, 11, 13, 9, 12])\n    .chartSelectionHandler { event in\n        guard event.isActive,\n              let value = event.value,\n              let index = event.index else { return }\n        print(\"selected\", index, value)\n    }\n```\n\n### 4) Dynamic streaming data\n\n```swift\n@ObservedObject private var stream = ChartStreamingDataSource(\n    initialValues: [18, 23, 20, 27, 29, 24],\n    windowSize: 6,\n    autoScroll: true\n)\n\nLineChart()\n    .chartData(stream)\n    .chartYRange(stream.suggestedYRange)\n```\n\n### 5) Performance mode for large datasets\n\n```swift\nLineChart()\n    .chartData(largeSeries)\n    .chartPerformance(.automatic(threshold: 600,\n                                 maxPoints: 180,\n                                 simplifyLineStyle: true))\n```\n\n## Migration\n\nThis is a major breaking release.\n\n- Full migration guide: [MIGRATION.md](.\u002FMIGRATION.md)\n- Quick examples: [example.md](.\u002Fexample.md)\n\n## Documentation Map\n\n- Wiki index: [docs\u002Fwiki\u002FREADME.md](.\u002Fdocs\u002Fwiki\u002FREADME.md)\n- Getting started: [docs\u002Fwiki\u002F01-getting-started.md](.\u002Fdocs\u002Fwiki\u002F01-getting-started.md)\n- Modifiers: [docs\u002Fwiki\u002F02-composable-modifiers.md](.\u002Fdocs\u002Fwiki\u002F02-composable-modifiers.md)\n- Interaction: [docs\u002Fwiki\u002F03-interaction-and-selection.md](.\u002Fdocs\u002Fwiki\u002F03-interaction-and-selection.md)\n- Streaming: [docs\u002Fwiki\u002F04-dynamic-and-streaming-data.md](.\u002Fdocs\u002Fwiki\u002F04-dynamic-and-streaming-data.md)\n- Performance: [docs\u002Fwiki\u002F05-performance-and-large-datasets.md](.\u002Fdocs\u002Fwiki\u002F05-performance-and-large-datasets.md)\n- Axis alignment: [docs\u002Fwiki\u002F06-unified-axis-and-label-alignment.md](.\u002Fdocs\u002Fwiki\u002F06-unified-axis-and-label-alignment.md)\n- Migration summary: [docs\u002Fwiki\u002F07-migration-from-1x.md](.\u002Fdocs\u002Fwiki\u002F07-migration-from-1x.md)\n\n## Example App\n\nThe showcase app demonstrates all major features:\n\n`Examples\u002FSwiftUIChartsShowcase`\n\n## Release Notes\n\n- Changelog: [CHANGELOG.md](.\u002FCHANGELOG.md)\n- Includes Apple privacy manifest: `Sources\u002FSwiftUICharts\u002FPrivacyInfo.xcprivacy`\n","SwiftUICharts 是一个专为 iOS 13 及以上版本设计的 SwiftUI 原生图表库。它通过不可变配置、环境驱动组合以及基于修饰符的 API 提供了强大的图表绘制能力，支持折线图、柱状图和饼图等多种图表类型。该库强调使用 `2.x` 版本的可组合 API 来构建图表，并提供了一系列用于设置数据源、样式、网格线、轴标签等的现代化方法。适合需要在 iOS 应用中集成高质量自定义图表的开发者使用，尤其是在追求代码简洁性和可维护性的场景下。",2,"2026-06-11 03:09:01","top_language"]