Simple and dynamic bar graph, very easy setup and operation.
##Requirements and Dependencies
- iOS >= 6.0
- ARC enabled
##Installation
####CocoaPods: #####Building pod 'HACBarChart'
####Manual install:
- Copy
HACBarChart.h
HACBarChart.m
HACBarLayer.h
andHACBarLayer.m
to your project - Manual install HACBarChart
##Usage
To make it graphically xib or storyboard, add a UIView and assign a subclass of HACBarChart
.
Allocate the required constraints should be necessary and appropriate measures according to our needs.
The next step would be a sight IBOutlet to assign attributes and data.
Once these steps, we pass the data we want to paint in the graph, it is an NSArray
of NSDictionary
, and the keys they should be as in the example I show below.
The keys kHACColor
and kHACCustomText
is optional but kHACPercentage
is required.
#import "HACBarChart.h"
@interface ViewController (){
NSArray *data;
}
@property (weak, nonatomic) IBOutlet HACBarChart *chart;
- (void)viewDidLoad
{
[super viewDidLoad];
data = @[
@{kHACPercentage:@1000, kHACColor : [UIColor colorWithRed:0.000f green:0.620f blue:0.890f alpha:1.0f], kHACCustomText : @"January"},
@{kHACPercentage:@875, kHACColor : [UIColor colorWithRed:0.431f green:0.000f blue:0.533f alpha:1.0f], kHACCustomText : @"February"},
@{kHACPercentage:@875, kHACColor : [UIColor colorWithRed:0.922f green:0.000f blue:0.000f alpha:1.0f], kHACCustomText : @"March"},
@{kHACPercentage:@875, kHACColor : [UIColor colorWithRed:0.000f green:0.671f blue:0.180f alpha:1.0f], kHACCustomText : @"April"},
@{kHACPercentage:@750, kHACColor : [UIColor colorWithRed:1.000f green:0.000f blue:0.851f alpha:1.0f], kHACCustomText : @"May"},
@{kHACPercentage:@750, kHACColor : [UIColor colorWithRed:1.000f green:0.808f blue:0.000f alpha:1.0f], kHACCustomText : @"June"},
@{kHACPercentage:@625, kHACColor : [UIColor colorWithRed:0.294f green:0.843f blue:0.251f alpha:1.0f], kHACCustomText : @"July"},
@{kHACPercentage:@500, kHACColor : [UIColor colorWithRed:1.000f green:0.404f blue:0.000f alpha:1.0f], kHACCustomText : @"August"},
@{kHACPercentage:@500, kHACColor : [UIColor colorWithRed:0.282f green:0.631f blue:0.620f alpha:1.0f], kHACCustomText : @"September"},
@{kHACPercentage:@375, kHACColor : [UIColor colorWithRed:0.776f green:0.000f blue:0.702f alpha:1.0f], kHACCustomText : @"October"},
@{kHACPercentage:@250, kHACColor : [UIColor colorWithRed:0.282f green:0.631f blue:0.620f alpha:1.0f], kHACCustomText : @"November"},
@{kHACPercentage:@125, kHACColor : [UIColor colorWithRed:0.776f green:0.000f blue:0.702f alpha:1.0f], kHACCustomText : @"December"}
];
// Assign data
_chart.data = data;
}
For draw the chart, after assign the data is necessary doing in the method viewDidAppear
, as in the following example
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
[_chart draw];
}
##Customize
////// CHART CUSTOMIZE
_chart.showAxis = YES; // Show axis line
_chart.showProgressLabel = YES; // Show text for bar
_chart.vertical = YES; // Orientation chart
_chart.reverse = NO; // Orientation chart
_chart.showDataValue = YES; // Show value contains _data, or real percent value
_chart.showCustomText = YES; // Show custom text, in _data with key kHACCustomText
_chart.barsMargin = 0; // Margin between bars
_chart.sizeLabelProgress = 30; // Width of label progress text
_chart.numberDividersAxisY = 8;
_chart.animationDuration = 2;
// _chart.axisMaxValue = 1500; // If no define maxValue, get maxium of _data
_chart.progressTextColor = [UIColor darkGrayColor];
_chart.axisYTextColor = [UIColor colorWithRed:0.80 green:0.80 blue:0.80 alpha:1.0];
_chart.progressTextFont = [UIFont fontWithName:@"DINCondensed-Bold" size:6];
_chart.typeBar = HACBarType2;
_chart.dashedLineColor = [UIColor colorWithRed:0.44 green:0.66 blue:0.86 alpha:.3];
_chart.axisXColor = [UIColor colorWithRed:0.44 green:0.66 blue:0.86 alpha:1.0];
_chart.axisYColor = [UIColor colorWithRed:0.44 green:0.66 blue:0.86 alpha:1.0];
_chart.data = data;
////// CHART SET DATA
[_chart draw];
Enjoy :D
Contributing
- Fork it ( https://github.com/[my-github-username]/HACBarChart/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request