Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ArthurGuibert/FSLineChart
A line chart library for iOS
https://github.com/ArthurGuibert/FSLineChart
Last synced: 8 days ago
JSON representation
A line chart library for iOS
- Host: GitHub
- URL: https://github.com/ArthurGuibert/FSLineChart
- Owner: ArthurGuibert
- License: apache-2.0
- Created: 2014-09-30T20:55:28.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-08-09T21:02:30.000Z (over 7 years ago)
- Last Synced: 2024-12-01T09:47:20.257Z (11 days ago)
- Language: Objective-C
- Size: 301 KB
- Stars: 847
- Watchers: 40
- Forks: 120
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - FSLineChart - A line chart library for iOS. (Charts)
- awesome-ios-star - FSLineChart - A line chart library for iOS. (Charts)
- fucking-awesome-ios - FSLineChart - A line chart library for iOS. (Charts)
- fucking-awesome-ios - FSLineChart - A line chart library for iOS. (Charts)
README
FSLineChart
===========A line chart library for iOS.
Screenshots
---
Installing FSLineChart
---
Add the contents of the FSLineChart project to your directory or simply add the following line to your Podfile:pod "FSLineChart"
How to use
---
FSLineChart is a subclass of UIView so it can be added as regular view. The block structure allows you to format the values displayed on the chart the way you want. Here is a simple swift example:```swift
var data: [Int] = []
// Generate some dummy data
for _ in 0...10 {
data.append(Int(20 + (arc4random() % 100)))
}verticalGridStep = 5
horizontalGridStep = 9
labelForIndex = { "\($0)" }
labelForValue = { "$\($0)" }
setChartData(data)
```Or in objective-c
```objc
NSArray* months = @[@"January", @"February", @"March", @"April", @"May", @"June", @"July"];
FSLineChart* lineChart = [[FSLineChart alloc] initWithFrame:frame];lineChart.labelForIndex = ^(NSUInteger item) {
return months[item];
};lineChart.labelForValue = ^(CGFloat value) {
return [NSString stringWithFormat:@"%.02f €", powf(10,value)];
};[lineChart setChartData:chartData];
```You can also set several parameters. Some of the parameters including `color` and `fillColor` must be set before calling the `setChartData` method. All those properties are available:
```objc
// Index label properties
@property (copy) FSLabelForIndexGetter labelForIndex;
@property (nonatomic, strong) UIFont* indexLabelFont;
@property (nonatomic) UIColor* indexLabelTextColor;
@property (nonatomic) UIColor* indexLabelBackgroundColor;// Value label properties
@property (copy) FSLabelForValueGetter labelForValue;
@property (nonatomic, strong) UIFont* valueLabelFont;
@property (nonatomic) UIColor* valueLabelTextColor;
@property (nonatomic) UIColor* valueLabelBackgroundColor;
@property (nonatomic) ValueLabelPositionType valueLabelPosition;// Number of visible step in the chart
@property (nonatomic) int gridStep;
@property (nonatomic) int verticalGridStep;
@property (nonatomic) int horizontalGridStep;// Margin of the chart
@property (nonatomic) CGFloat margin;@property (nonatomic) CGFloat axisWidth;
@property (nonatomic) CGFloat axisHeight;// Decoration parameters, let you pick the color of the line as well as the color of the axis
@property (nonatomic, strong) UIColor* axisColor;
@property (nonatomic) CGFloat axisLineWidth;// Chart parameters
@property (nonatomic, strong) UIColor* color;
@property (nonatomic, strong) UIColor* fillColor;
@property (nonatomic) CGFloat lineWidth;// Data points
@property (nonatomic) BOOL displayDataPoint;
@property (nonatomic, strong) UIColor* dataPointColor;
@property (nonatomic, strong) UIColor* dataPointBackgroundColor;
@property (nonatomic) CGFloat dataPointRadius;// Grid parameters
@property (nonatomic) BOOL drawInnerGrid;
@property (nonatomic, strong) UIColor* innerGridColor;
@property (nonatomic) CGFloat innerGridLineWidth;// Smoothing
@property (nonatomic) BOOL bezierSmoothing;
@property (nonatomic) CGFloat bezierSmoothingTension;// Animations
@property (nonatomic) CGFloat animationDuration;
```Examples
---
You can clone the repo to see a simple example. I'm also using FSLineChart on [ChartLoot](https://github.com/ArthurGuibert/ChartLoot) if you want to see the integration in a bigger project.