{"id":13462704,"url":"https://github.com/francescoleoni98/FLCharts","last_synced_at":"2025-03-25T05:32:14.993Z","repository":{"id":37410584,"uuid":"446759544","full_name":"francescoleoni98/FLCharts","owner":"francescoleoni98","description":"Easy to use and highly customizable charts library for iOS","archived":false,"fork":false,"pushed_at":"2023-06-27T07:06:47.000Z","size":9729,"stargazers_count":262,"open_issues_count":21,"forks_count":22,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-29T16:51:54.488Z","etag":null,"topics":["charts","cocoapods","swift-package-manager","swift5","xcode11"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/francescoleoni98.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-01-11T09:37:20.000Z","updated_at":"2024-05-10T17:28:59.000Z","dependencies_parsed_at":"2024-01-29T17:08:00.817Z","dependency_job_id":null,"html_url":"https://github.com/francescoleoni98/FLCharts","commit_stats":{"total_commits":134,"total_committers":9,"mean_commits":14.88888888888889,"dds":0.4776119402985075,"last_synced_commit":"e905071bb93934c4df3d522897a353022104e18c"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescoleoni98%2FFLCharts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescoleoni98%2FFLCharts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescoleoni98%2FFLCharts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/francescoleoni98%2FFLCharts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/francescoleoni98","download_url":"https://codeload.github.com/francescoleoni98/FLCharts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245407577,"owners_count":20610227,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["charts","cocoapods","swift-package-manager","swift5","xcode11"],"created_at":"2024-07-31T13:00:19.168Z","updated_at":"2025-03-25T05:32:14.406Z","avatar_url":"https://github.com/francescoleoni98.png","language":"Swift","funding_links":[],"categories":["Libs","UI and SwiftUI","Charts"],"sub_categories":["Chart"],"readme":"![FLCharts](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/FLCharts_icon.png)\n\n# FLCharts\n\n![Version](https://img.shields.io/cocoapods/v/FLCharts.svg?style=flat) ![Platforms](https://img.shields.io/cocoapods/p/FLCharts.svg?style=flat) ![License](https://img.shields.io/cocoapods/l/FLCharts.svg?style=flat) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![Swift](https://img.shields.io/badge/swift-5.0-brightgreen.svg) ![Xcode 11.0+](https://img.shields.io/badge/Xcode-11.0%2B-blue.svg) ![iOS 11.0+](https://img.shields.io/badge/iOS-11.0%2B-blue.svg) [![SPM](https://img.shields.io/badge/Swift%20Package%20Manager-compatible-brightgreen.svg)](https://github.com/apple/swift-package-manager)\n\nFLCharts is an easy-to-use library to build highly customizable bar, line and pie charts. It allows you to create your own chart bar `UIView` and use it to display data in the chart.\n\u003cbr\u003e\nAdditionally FLCharts allows you to provide a custom `HighlightedView` to show the highlighted bar contents on top of the chart.\n\u003cbr\u003e\nEmbed effortlessly your chart in a `FLCard` alogside with a title, an average vlue view and additional behaviours.\n\n\n# Table of Contents\n* [Requirements](#requirements)\n* [Installation](#installation)\n  * [Swift Package Manager](#SPM)\n  * [CocoaPods](#cocoapods)\n  * [Carthage](#carthage)\n* [Features](#features)\n* [Configurations](#configurations)\n* [Prebuilt bar cells](#barcells)\n* [Docs](#docs)\n* [Chart types](#charttypes)\n* [Examples](#examples)\n* [Animations](#animations)\n* [Apps that uses FLCharts](#apps)\n* [License](#license)\n\n\n## Requirements \u003ca name=\"requirements\"\u003e\u003c/a\u003e\n* Xcode 11 / Swift 5\n* iOS \u003e= 11.0\n\n\n## Installation \u003ca name=\"installation\"\u003e\u003c/a\u003e\n\nFLCharts is available through SPM, CocoaPods and Carthage\n\n### Swift Package Manager \u003ca name=\"SPM\"\u003e\u003c/a\u003e\n\nIn XCode go to `File -\u003e Add Packages...`\n\nSearch for `https://github.com/francescoleoni98/FLCharts` and click `Add Package`.\n\nSelect to which target you want to add it and select `Add Package`.\n\n### CocoaPods \u003ca name=\"cocoapods\"\u003e\u003c/a\u003e\nFLCharts is available through [CocoaPods](https://cocoapods.org). To install it, add the following line to your Podfile:\n\n```ruby\npod 'FLCharts'\n```\nThen run `pod install`\n\n### Carthage \u003ca name=\"carthage\"\u003e\u003c/a\u003e\nTo install it with Carthage, in your Cartfile add:\n```ruby\ngithub \"francescoleoni98/FLCharts\"\n```\nThen run `carthage update`\n\nIn XCode \u003e Build phases click the plus button on top left \u003e New Run Script Phases. \u003cbr\u003e\nThen in Run Script \u003e Shell script window \u003e add `/usr/local/bin/carthage copy-frameworks`. \u003cbr\u003e\nRun Script \u003e Input file window \u003e add `$(SRCROOT)/Carthage/Build/iOS/FLCharts.framework`.\n\nThen, go to `$project_dir/Carthage/Build/iOS` and drag the folder `FLCharts.framework` into your `Xcode Project \u003e Your Target \u003e Frameworks, Libraries and Embedded Content`.\n\n### Example\nHere you can find a guide about how to setup a bar chart using FLCharts:\n\n[FLCharts: Create Bar Chart easily](https://blog.leonifrancesco.com/articles/flcharts)\n\n## Features \u003ca name=\"features\"\u003e\u003c/a\u003e\n\n - Animations for chart bars\n - Customizable Axes (both x and y axis)\n - Dragging / Panning (with touch-gesture)\n - Highlighting values (with customizable popup-views)\n - Create custom cards with embedded chart and more features\n - Scroll through chart while highlighted to change highlighted bar\n - Fully customizable (bar colors, axes color, background, average value, dashed lines, ...)\n\n## Configurations \u003ca name=\"configurations\"\u003e\u003c/a\u003e\n\nFLChart is highly customizable. You can choose which property to modify through the .config property.\n\n```swift\nlet axisLabelConfig = FLAxisLabelConfig(color: .black,\n                                        font: .preferredFont(forTextStyle: .body))\n                         \nchart.config = ChartConfig(axesLabels: axisLabelConfig)\n```\n\n## Prebuilt bar cells \u003ca name=\"barcells\"\u003e\u003c/a\u003e\n- `FLPlainChartBar`\n- `FLMultipleValuesChartBar`\n- `FLHorizontalMultipleValuesChartBar`\n\nUse this bars when you configure your chart.\n\nEg. `FLChart(data: ..., type: .bar(bar: FLMultipleValuesChartBar.self))`\n\n## Docs \u003ca name=\"docs\"\u003e\u003c/a\u003e\n\nYou can build FLCharts documentation directly in XCode.\n\u003c/br\u003e\nIn XCode go to `Product -\u003e Build Documentation`, once XCode has finished building, the documentation will appear.\n\n## Chart types \u003ca name=\"charttypes\"\u003e\u003c/a\u003e\n\n|  |  |  |\n| ----------- | ----------- | ----------- |\n| **Plain Bar Chart** | **Multi Value Bar Chart** | **Horizontal Multi Value Bar Chart** |\n| Bar class: `FLPlainChartBar` | Bar class: `FLMultipleValuesChartBar` | Bar class: `FLHorizontalMultipleValuesChartBar` |  \n| Data type: `SinglePlotable` | Data type: `MultiPlotable` | Data type: `MultiPlotable` |\n| ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1143.jpg?raw=true) | ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1144.jpg?raw=true) | ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1145.jpg?raw=true) |\n| \u003cimg width=0 height=40 /\u003e |  |  |\n| **Line Chart** | **Multi Value Line Chart** | **Scatter Chart** |\n| Data type: `SinglePlotable` | Data type: `MultiPlotable` | Data type: `ScatterPlotable` |\n| ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1148.jpg?raw=true) | ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1146.jpg?raw=true) | ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1149.jpg?raw=true) |\n| \u003cimg width=0 height=40 /\u003e |  |  |\n| **Radar Chart** | **Pie Chart** |\n| Data type: `FLDataSet` | Data type: `FLPiePlotable` |\n| ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1150.jpg?raw=true) | ![](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/ChartTypes/IMG_1151.jpg?raw=true) |\n\n\n## Examples \u003ca name=\"examples\"\u003e\u003c/a\u003e\n\n|  |  |  |\n| ----------- | ----------- | ----------- |\n| **Highlighted Bar** | **Average view** | **Bar chart embedded in FLCard** |\n| Highlight View: `BarHighlightedView` | `showAverage = true` |  |\n| ![highlighted bar](https://github.com/francescoleoni98/FLCharts/blob/main/Screenshots/highlightedview_chart.jpg) | ![average view](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/average_line.jpg) | ![bar chart embedded in FLCard](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/FLCard.jpg) |\n| \u003cimg width=0 height=40 /\u003e |  |  |\n| **Dark Mode** | **Line Chart X and Y Segments** | **Pie Chart** |\n|  | X Segments: `Key(key: String, xColors: [UIColor])` |  |\n|  | Y Segments: `Key(key: String, yThresholds: [CGFloat : UIColor], data: [PlotableData])` |  |\n| ![dark mode](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/dark_mode.jpg) | ![x y segments](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/x_y_segments_line_chart.jpg) | ![pie chart](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/pie_chart.png) |\n\n\n## Animations \u003ca name=\"animations\"\u003e\u003c/a\u003e\n\n- **Panning while highlighted**\n\n ![alt tag](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/GIFs/highlighted_pan_animation.gif)\n\n- **Chart animation**\n\n ![alt tag](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/GIFs/start_bars_animation.gif)\n\n- **Scrolling behaviour with average and highlighted views**\n\n ![alt tag](https://raw.githubusercontent.com/francescoleoni98/FLCharts/main/Screenshots/GIFs/scrolling_behaviour.gif)\n\n\n## Apps that uses FLCharts \u003ca name=\"apps\"\u003e\u003c/a\u003e\n- [Aware - Daily Bullet Journal](https://apps.apple.com/it/app/aware-daily-bullet-journal/id1560309401)\n\n## Author\n\nFrancesco Leoni | [@franceleonidev](https://twitter.com/franceleonidev) | leoni.francesco98@gmail.it\n\n\n## License \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nFLCharts is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancescoleoni98%2FFLCharts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrancescoleoni98%2FFLCharts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrancescoleoni98%2FFLCharts/lists"}