扣丁書屋

這款 iOS 開源庫收藏起來,肯定用得上

上周推薦了一款 flutter 開源圖表庫,這次我們同樣推薦一款圖表庫,不過是 SwiftUI 版本的。

自 2019 年蘋果推出 SwiftUI 以來,雖然 SwiftUI 在 iOS UI 開發上還未成為主流,但社區對 SwiftUI 的期待還是蠻大的。各類 SwiftUI 開源庫也不斷涌現。而在許多工具類應用中,圖表又是經常出現的一種展現形式。今天推薦的這款 SwiftUICharts https://github.com/willdale/SwiftUICharts 開源庫,可以適用于 macOS、iOS、watchOS 和 tvOS,并具有內置的輔助功能和本地化功能。

這款開源庫支持多種線性圖、餅圖:

Line Chart

LineChart(chartData: LineChartData)

FilledLineChart(chartData: LineChartData)

MultiLineChart(chartData: MultiLineChartData)

RangedLineChart(chartData: RangedLineChartData)

Bar Charts

BarChart(chartData: BarChartData)

RangedBarChart(chartData: RangedBarChartData)

GroupedBarChart(chartData: GroupedBarChartData)

StackedBarChart(chartData: StackedBarChartData)

Pie Charts

PieChart(chartData: PieChartData)

DoughnutChart(chartData: DoughnutChartData)

另外,這款開源庫還提供了豐富的修飾符,以對圖表做各類美化加強。

整體使用也很簡單,以下是一個實例

struct LineChartDemoView: View {

    let data : LineChartData = weekOfData()

    var body: some View {
        VStack {
            LineChart(chartData: data)
                .pointMarkers(chartData: data)
                .touchOverlay(chartData: data, specifier: "%.0f")
                .yAxisPOI(chartData: data,
                          markerName: "Step Count Aim",
                          markerValue: 15_000,
                          labelPosition: .center(specifier: "%.0f"),
                          labelColour: Color.black,
                          labelBackground: Color(red: 1.0, green: 0.75, blue: 0.25),
                          lineColour: Color(red: 1.0, green: 0.75, blue: 0.25),
                          strokeStyle: StrokeStyle(lineWidth: 3, dash: [5,10]))
                .yAxisPOI(chartData: data,
                          markerName: "Minimum Recommended",
                          markerValue: 10_000,
                          labelPosition: .center(specifier: "%.0f"),
                          labelColour: Color.white,
                          labelBackground: Color(red: 0.25, green: 0.75, blue: 1.0),
                          lineColour: Color(red: 0.25, green: 0.75, blue: 1.0),
                          strokeStyle: StrokeStyle(lineWidth: 3, dash: [5,10]))
                .averageLine(chartData: data,
                             strokeStyle: StrokeStyle(lineWidth: 3, dash: [5,10]))
                .xAxisGrid(chartData: data)
                .yAxisGrid(chartData: data)
                .xAxisLabels(chartData: data)
                .yAxisLabels(chartData: data)
                .infoBox(chartData: data)
                .headerBox(chartData: data)
                .legends(chartData: data, columns: [GridItem(.flexible()), GridItem(.flexible())])
                .id(data.id)
                .frame(minWidth: 150, maxWidth: 900, minHeight: 150, idealHeight: 250, maxHeight: 400, alignment: .center)
        }
        .navigationTitle("Week of Data")
    }
}

當然,這款 SwiftUI 圖表庫目前在 Github 上并不是 star 最多的,star 數是 350+,另一款由 mecid 開源的 SwiftUI 圖表庫 https://github.com/mecid/SwiftUICharts 目前 star 數有 1.1k,以下是圖例:


https://mp.weixin.qq.com/s/s4DkFFIPxbzHzyyxGnzNrA

最多閱讀

iOS 性能檢測新方式?——AnimationHitches 8月以前  |  18031次閱讀
快速配置 Sign In with Apple 2年以前  |  5484次閱讀
APP適配iOS11 3年以前  |  4436次閱讀
App Store 審核指南[2017年最新版本] 3年以前  |  4262次閱讀
所有iPhone設備尺寸匯總 3年以前  |  4184次閱讀
使用 GPUImage 實現一個簡單相機 3年以前  |  3915次閱讀
開篇 關于iOS越獄開發 3年以前  |  3794次閱讀
在越獄的iPhone設置上使用lldb調試 3年以前  |  3719次閱讀
給數組NSMutableArray排序 3年以前  |  3642次閱讀
使用ssh訪問越獄iPhone的兩種方式 3年以前  |  3346次閱讀
UITableViewCell高亮效果實現 3年以前  |  3344次閱讀
關于Xcode不能打印崩潰日志 3年以前  |  3242次閱讀
使用ssh 訪問越獄iPhone的兩種方式 3年以前  |  3083次閱讀
為對象添加一個釋放時觸發的block 3年以前  |  2857次閱讀
使用最高權限操作iPhone手機 3年以前  |  2828次閱讀

手機掃碼閱讀
18禁止午夜福利体验区,人与动人物xxxx毛片人与狍,色男人窝网站聚色窝
<蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>