5

我现在正在使用 ShinobiCharts iOS 图表框架。

谁能给我一个提供如下图功能的示例? 在此处输入图像描述

我想做一个功能,当你点击图表的点时可以显示 X 值和 Y 值。

4

3 回答 3

4

您必须实现 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
}
于 2013-03-04T09:00:49.017 回答
3

您必须将 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;
}
于 2013-05-09T19:12:57.333 回答
2

为了显示默认十字准线,您需要设置以下内容:

在系列上启用十字准线

-(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];  
于 2013-05-29T22:54:57.033 回答