我现在正在使用 ShinobiCharts iOS 图表框架。
谁能给我一个提供如下图功能的示例?
我想做一个功能,当你点击图表的点时可以显示 X 值和 Y 值。
您必须实现 SChartDelegate 方法:
例如
- (void)sChart:(ShinobiChart *)chart toggledSelectionForSeries:(SChartSeries *)series nearPoint:(SChartDataPoint *)dataPoint atPixelCoordinate:(CGPoint)pixelPoint{
NSLog(@"x value:%@",dataPoint.xValue);
NSLog(@"y value:%@",dataPoint.yValue);
//here you can create an label to show the x/y values or even can add an annotation
}
您也可以使用以下方法进行点选择
- (void)sChart:(ShinobiChart *)chart toggledSelectionForPoint:(SChartDataPoint *)dataPoint inSeries:(SChartSeries *)series atPixelCoordinate:(CGPoint)pixelPoint{
//Your code goes here
}
您必须将 CrossHairEnabled 设置为 YES,如下所示:
- (SChartSeries*)barSeriesForKey:(NSString*)key {
SChartBarSeries *series = [SChartBarSeries new];
series.stackIndex = [NSNumber numberWithInt:1];
series.crosshairEnabled = YES; // this is what you want
series.title = [self titleForKey:key];
if ([key isEqualToString:land]) {
series.style = [self.theme barSeriesStyleForSeriesAtIndex:3 selected:NO];
}
return series;
}
为了显示默认十字准线,您需要设置以下内容:
在系列上启用十字准线
-(SChartSeries *)sChart:(ShinobiChart *)chart seriesAtIndex:(int)index {
SChartLineSeries *lineSeries = [[SChartLineSeries alloc] init];
lineSeries.style.lineColor = [UIColor darkGrayColor];
lineSeries.crosshairEnabled = YES;
lineSeries.selectionMode = SChartSelectionPoint;
return lineSeries;
}
使用默认十字准线工具提示
[chart.crosshair setDefaultTooltip];