https://github.com/micheltlutz/mllinechart
A simple Line Chart Lib
https://github.com/micheltlutz/mllinechart
carthage chart chart-library charts pod swift swift-framework swift-package-manager swift4
Last synced: 9 months ago
JSON representation
A simple Line Chart Lib
- Host: GitHub
- URL: https://github.com/micheltlutz/mllinechart
- Owner: micheltlutz
- License: mit
- Archived: true
- Created: 2018-07-30T12:15:15.000Z (almost 8 years ago)
- Default Branch: develop
- Last Pushed: 2021-02-09T12:51:52.000Z (over 5 years ago)
- Last Synced: 2025-09-22T16:51:24.364Z (9 months ago)
- Topics: carthage, chart, chart-library, charts, pod, swift, swift-framework, swift-package-manager, swift4
- Language: Swift
- Homepage: http://micheltlutz.me
- Size: 519 KB
- Stars: 30
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# MLLineChart
[](https://swift.org)
[](https://cocoapods.org/pods/MLLineChart)
[](https://raw.githubusercontent.com/micheltlutz/MLLineChart/master/LICENSE)
[](https://github.com/apple/swift-package-manager)
[](https://github.com/Carthage/Carthage)
[](https://cocoapods.org/pods/MLLineChart)
[](https://travis-ci.org/micheltlutz/MLLineChart/branches)
A Simple Line Chart Library
- [Requirements](#requirements)
- [Installation](#installation)
- [Usage](#usage)
- [License](#license)
## Requirements
- iOS 10.0+ / tvOS 9.0+
- Xcode 10.2.1+
## Installation
### CocoaPods
Add the following line to your Podfile:
pod "MLLineChart"
``` $ pod install ```
### Dependency Managers
CocoaPods
[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. You can install it with the following command:
```bash
$ gem install cocoapods
```
To integrate MLLineChart into your Xcode project using CocoaPods, specify it in your `Podfile`:
```ruby
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
pod 'MLLineChart', '~> 2.0.5'
```
Then, run the following command:
```bash
$ pod install
```
Carthage
[Carthage](https://github.com/Carthage/Carthage) is a decentralized dependency manager that automates the process of adding frameworks to your Cocoa application.
You can install Carthage with [Homebrew](http://brew.sh/) using the following command:
```bash
$ brew update
$ brew install carthage
```
To integrate MLLineChart into your Xcode project using Carthage, specify it in your `Cartfile`:
```ogdl
github "micheltlutz/MLLineChart" ~> 2.0.5
```
### Manually
If you prefer not to use either of the aforementioned dependency managers, you can integrate MLLineChart into your project manually.
Git Submodules
- Open up Terminal, `cd` into your top-level project directory, and run the following command "if" your project is not initialized as a git repository:
```bash
$ git init
```
- Add MLLineChart as a git [submodule](http://git-scm.com/docs/git-submodule) by running the following command:
```bash
$ git submodule add https://github.com/micheltlutz/MLLineChart.git
$ git submodule update --init --recursive
```
- Open the new `MLLineChart` folder, and drag the `MLLineChart.xcodeproj` into the Project Navigator of your application's Xcode project.
> It should appear nested underneath your application's blue project icon. Whether it is above or below all the other Xcode groups does not matter.
- Select the `MLLineChart.xcodeproj` in the Project Navigator and verify the deployment target matches that of your application target.
- Next, select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the "Targets" heading in the sidebar.
- In the tab bar at the top of that window, open the "General" panel.
- Click on the `+` button under the "Embedded Binaries" section.
- You will see two different `MLLineChart.xcodeproj` folders each with two different versions of the `MLLineChart.framework` nested inside a `Products` folder.
> It does not matter which `Products` folder you choose from.
- Select the `MLLineChart.framework`.
- And that's it!
> The `MLLineChart.framework` is automagically added as a target dependency, linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device.
Embedded Binaries
- Download the latest release from https://github.com/micheltlutz/MLLineChart/releases
- Next, select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the "Targets" heading in the sidebar.
- In the tab bar at the top of that window, open the "General" panel.
- Click on the `+` button under the "Embedded Binaries" section.
- Add the downloaded `MLLineChart.framework`.
- And that's it!
## Usage
```swift
import MLLineChart
class ViewController: UIViewController {
private var lineChart: MLLineChart!
private var dataEntries: [MLPointEntry] = []
var widthChart = CGFloat(320)
var heightChart = CGFloat(275)
override func viewDidLoad() {
super.viewDidLoad()
makeData()
setupChart()
}
private func makeData() {
dataEntries.append(MLPointEntry(value: 5, label: "1", color: .gray))
dataEntries.append(MLPointEntry(value: 6, label: "2", color: .green))
dataEntries.append(MLPointEntry(value: 4, label: "3", color: .blue))
}
private func setupChart() {
lineChart = MLLineChart(frame: CGRect(x: 0, y: 0, width: widthChart, height: heightChart))
lineChart.translatesAutoresizingMaskIntoConstraints = false
lineChart.dataEntries = dataEntries
lineChart.lineColor = .gray
lineChart.lineWidth = 2
lineChart.showShadows = true
lineChart.showAxisLine = true
lineChart.gradienLinesColors = [UIColor.gray.cgColor, UIColor.green.cgColor, UIColor.blue.cgColor]
lineChart.configLabelsBottom = MLLabelConfig(color: .white,
backgroundColor: .gray,
rounded: true,
font: UIFont.systemFont(ofSize: 11),
width: 16, height: 16, fontSize: 11)
}
/// Cntinue your code
}
```
## Docs
- In work
[Documentation](http://htmlpreview.github.io/?https://github.com/micheltlutz/MLLineChart/blob/develop/docs/index.html)
MLLineChart Docs (- documented)
## Demo App
Using MLLineChartDemo Target on this project
## Contributing
Issues and pull requests are welcome!
## Todo
- [X] Migrate to Swift 4.2
- [ ] Support again to line without curve
- [ ] 100% documented
## Author
Michel Anderson Lutz Teixeira [@michel_lutz](https://twitter.com/michel_lutz)
Inspired on [nhatminh12369/LineChart](https://github.com/nhatminh12369/LineChart)
[My Site](http://micheltlutz.me)
## Contributions
## License
MLLineChart is released under the MIT license. See [LICENSE](https://github.com/micheltlutz/MLLineChart/blob/master/LICENSE) for details.