|
|
|
@@ -267,12 +267,13 @@ static UIColor *kJBLineChartViewDefaultDotSelectionColor = nil;
|
|
|
|
|
|
|
|
|
|
NSMutableArray *mutableChartData = [NSMutableArray array];
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(numberOfLinesInLineChartView:)], @"JBLineChartView // dataSource must implement - (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView");
|
|
|
|
|
for (NSUInteger lineIndex=0; lineIndex<[self.dataSource numberOfLinesInLineChartView:self]; lineIndex++)
|
|
|
|
|
NSInteger numberOfLines = [self.dataSource numberOfLinesInLineChartView:self];
|
|
|
|
|
for (NSInteger lineIndex=0; lineIndex<numberOfLines; lineIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(lineChartView:numberOfVerticalValuesAtLineIndex:)], @"JBLineChartView // dataSource must implement - (NSUInteger)lineChartView:(JBLineChartView *)lineChartView numberOfVerticalValuesAtLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
NSUInteger dataCount = [self.dataSource lineChartView:self numberOfVerticalValuesAtLineIndex:lineIndex];
|
|
|
|
|
NSMutableArray *chartPointData = [NSMutableArray array];
|
|
|
|
|
for (NSUInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
for (NSInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.delegate respondsToSelector:@selector(lineChartView:verticalValueForHorizontalIndex:atLineIndex:)], @"JBLineChartView // delegate must implement - (CGFloat)lineChartView:(JBLineChartView *)lineChartView verticalValueForHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
CGFloat rawHeight = [self.delegate lineChartView:self verticalValueForHorizontalIndex:horizontalIndex atLineIndex:lineIndex];
|
|
|
|
@@ -437,8 +438,9 @@ static UIColor *kJBLineChartViewDefaultDotSelectionColor = nil;
|
|
|
|
|
{
|
|
|
|
|
CGFloat maxLineWidth = 0.0f;
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(numberOfLinesInLineChartView:)], @"JBLineChartView // dataSource must implement - (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView");
|
|
|
|
|
NSInteger numberOfLines = [self.dataSource numberOfLinesInLineChartView:self];
|
|
|
|
|
|
|
|
|
|
for (NSUInteger lineIndex=0; lineIndex<[self.dataSource numberOfLinesInLineChartView:self]; lineIndex++)
|
|
|
|
|
for (NSInteger lineIndex=0; lineIndex<numberOfLines; lineIndex++)
|
|
|
|
|
{
|
|
|
|
|
BOOL showsDots = NO;
|
|
|
|
|
if ([self.dataSource respondsToSelector:@selector(lineChartView:showsDotsForLineAtLineIndex:)])
|
|
|
|
@@ -455,13 +457,12 @@ static UIColor *kJBLineChartViewDefaultDotSelectionColor = nil;
|
|
|
|
|
CGFloat maxDotLength = 0;
|
|
|
|
|
if (showsDots)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(numberOfLinesInLineChartView:)], @"JBLineChartView // dataSource must implement - (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView");
|
|
|
|
|
for (NSUInteger lineIndex=0; lineIndex<[self.dataSource numberOfLinesInLineChartView:self]; lineIndex++)
|
|
|
|
|
for (NSInteger lineIndex=0; lineIndex<numberOfLines; lineIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(lineChartView:numberOfVerticalValuesAtLineIndex:)], @"JBLineChartView // dataSource must implement - (NSUInteger)lineChartView:(JBLineChartView *)lineChartView numberOfVerticalValuesAtLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
NSUInteger dataCount = [self.dataSource lineChartView:self numberOfVerticalValuesAtLineIndex:lineIndex];
|
|
|
|
|
|
|
|
|
|
for (NSUInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
for (NSInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
{
|
|
|
|
|
BOOL shouldEvaluateDotSize = NO;
|
|
|
|
|
|
|
|
|
@@ -540,7 +541,8 @@ static UIColor *kJBLineChartViewDefaultDotSelectionColor = nil;
|
|
|
|
|
{
|
|
|
|
|
NSUInteger dataCount = 0;
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(numberOfLinesInLineChartView:)], @"JBLineChartView // dataSource must implement - (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView");
|
|
|
|
|
for (NSUInteger lineIndex=0; lineIndex<[self.dataSource numberOfLinesInLineChartView:self]; lineIndex++)
|
|
|
|
|
NSInteger numberOfLines = [self.dataSource numberOfLinesInLineChartView:self];
|
|
|
|
|
for (NSInteger lineIndex=0; lineIndex<numberOfLines; lineIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(lineChartView:numberOfVerticalValuesAtLineIndex:)], @"JBLineChartView // dataSource must implement - (NSUInteger)lineChartView:(JBLineChartView *)lineChartView numberOfVerticalValuesAtLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
NSUInteger lineDataCount = [self.dataSource lineChartView:self numberOfVerticalValuesAtLineIndex:lineIndex];
|
|
|
|
@@ -774,11 +776,12 @@ static UIColor *kJBLineChartViewDefaultDotSelectionColor = nil;
|
|
|
|
|
{
|
|
|
|
|
CGFloat minHeight = FLT_MAX;
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(numberOfLinesInLineChartView:)], @"JBLineChartView // dataSource must implement - (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView");
|
|
|
|
|
for (NSUInteger lineIndex=0; lineIndex<[self.dataSource numberOfLinesInLineChartView:self]; lineIndex++)
|
|
|
|
|
NSInteger numberOfLines = [self.dataSource numberOfLinesInLineChartView:self];
|
|
|
|
|
for (NSInteger lineIndex=0; lineIndex<numberOfLines; lineIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(lineChartView:numberOfVerticalValuesAtLineIndex:)], @"JBLineChartView // dataSource must implement - (NSUInteger)lineChartView:(JBLineChartView *)lineChartView numberOfVerticalValuesAtLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
NSUInteger dataCount = [self.dataSource lineChartView:self numberOfVerticalValuesAtLineIndex:lineIndex];
|
|
|
|
|
for (NSUInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
for (NSInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.delegate respondsToSelector:@selector(lineChartView:verticalValueForHorizontalIndex:atLineIndex:)], @"JBLineChartView // delegate must implement - (CGFloat)lineChartView:(JBLineChartView *)lineChartView verticalValueForHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
CGFloat height = [self.delegate lineChartView:self verticalValueForHorizontalIndex:horizontalIndex atLineIndex:lineIndex];
|
|
|
|
@@ -800,11 +803,12 @@ static UIColor *kJBLineChartViewDefaultDotSelectionColor = nil;
|
|
|
|
|
{
|
|
|
|
|
CGFloat maxHeight = 0;
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(numberOfLinesInLineChartView:)], @"JBLineChartView // dataSource must implement - (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView");
|
|
|
|
|
for (NSUInteger lineIndex=0; lineIndex<[self.dataSource numberOfLinesInLineChartView:self]; lineIndex++)
|
|
|
|
|
NSInteger numberOfLines = [self.dataSource numberOfLinesInLineChartView:self];
|
|
|
|
|
for (NSInteger lineIndex=0; lineIndex<numberOfLines; lineIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(lineChartView:numberOfVerticalValuesAtLineIndex:)], @"JBLineChartView // dataSource must implement - (NSUInteger)lineChartView:(JBLineChartView *)lineChartView numberOfVerticalValuesAtLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
NSUInteger dataCount = [self.dataSource lineChartView:self numberOfVerticalValuesAtLineIndex:lineIndex];
|
|
|
|
|
for (NSUInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
for (NSInteger horizontalIndex=0; horizontalIndex<dataCount; horizontalIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.delegate respondsToSelector:@selector(lineChartView:verticalValueForHorizontalIndex:atLineIndex:)], @"JBLineChartView // delegate must implement - (CGFloat)lineChartView:(JBLineChartView *)lineChartView verticalValueForHorizontalIndex:(NSUInteger)horizontalIndex atLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
CGFloat height = [self.delegate lineChartView:self verticalValueForHorizontalIndex:horizontalIndex atLineIndex:lineIndex];
|
|
|
|
@@ -896,9 +900,10 @@ static UIColor *kJBLineChartViewDefaultDotSelectionColor = nil;
|
|
|
|
|
NSUInteger shortestDistance = INT_MAX;
|
|
|
|
|
NSInteger selectedIndex = kJBLineChartUnselectedLineIndex;
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(numberOfLinesInLineChartView:)], @"JBLineChartView // dataSource must implement - (NSUInteger)numberOfLinesInLineChartView:(JBLineChartView *)lineChartView");
|
|
|
|
|
NSInteger numberOfLines = [self.dataSource numberOfLinesInLineChartView:self];
|
|
|
|
|
|
|
|
|
|
// Iterate all lines
|
|
|
|
|
for (NSUInteger lineIndex=0; lineIndex<[self.dataSource numberOfLinesInLineChartView:self]; lineIndex++)
|
|
|
|
|
for (NSInteger lineIndex=0; lineIndex<numberOfLines; lineIndex++)
|
|
|
|
|
{
|
|
|
|
|
NSAssert([self.dataSource respondsToSelector:@selector(lineChartView:numberOfVerticalValuesAtLineIndex:)], @"JBLineChartView // dataSource must implement - (NSUInteger)lineChartView:(JBLineChartView *)lineChartView numberOfVerticalValuesAtLineIndex:(NSUInteger)lineIndex");
|
|
|
|
|
if ([self.dataSource lineChartView:self numberOfVerticalValuesAtLineIndex:lineIndex] > rightHorizontalIndex)
|
|
|
|
|