gpt4 book ai didi

iphone - 核心情节问题: How to add a data Indicator

转载 作者:太空狗 更新时间:2023-10-30 03:43:42 24 4
gpt4 key购买 nike

我想在core-plot中添加类似下图的数据指示线。

Plot Image http://img203.imageshack.us/img203/9412/plota.png

知道如何使用 core-plot 实现这一点。我刚刚开始理解核心情节,所以任何提示都会非常有用。

谢谢

编辑:

为了更好地理解,我创建了一个截屏视频来展示我的意思:

http://www.screencast.com/users/GauravVerma/folders/Jing/media/78fbef04-8785-46d6-9347-4f35d257109c

2 月 26 日添加:

我使用两个数据图解决了部分问题。这是当前的实现:

http://www.screencast.com/users/GauravVerma/folders/Jing/media/02a1e685-8bf8-41a9-aaa6-5ea6445f6a6c

我使用了两个数据图,一个是主要数据图,另一个只绘制一个数据点,当 slider 值发生变化时会重新加载。

这是我的数据源方法(可能对某些人有帮助):

-(NSUInteger)numberOfRecordsForPlot:(CPPlot *)plot {
if ([(NSString *)plot.identifier isEqualToString:@"Blue Plot"]){
return [dataForPlot count];
}else {
return 1;
}

}

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
{
if ([(NSString *)plot.identifier isEqualToString:@"Green Plot"]) {
index = floor((double)[slider value]);
if (index > [dataForPlot count] -1) {
index = [dataForPlot count] -1;
}
NSLog(@"Green plot index : %f",index);
}
NSNumber *num = [[dataForPlot objectAtIndex:index] valueForKey:(fieldEnum == CPScatterPlotFieldX ? @"x" : @"y")];
num = [NSNumber numberWithDouble:[num doubleValue] + 1.0];
return num;
}

现在唯一剩下的问题就是找出划清界线的简单方法。有什么想法吗??

最佳答案

在 Core Plot 本身中还没有任何直接的方式来进行这种类型的交互,尽管它计划在未来包含在内。

一种方法是将您自己的 UIView 放在图表的顶部,并使用它来获取鼠标移动事件。

然后您可以有几种选择来显示红线:

1) 添加第二个y轴,根据鼠标事件定位

2) 添加一个只有一个条形的条形图,它延伸到整个垂直空间

3) 添加一个有两个点的散点图,一个在底部,一个在顶部。

这些都是 hack,但它们都应该有效。

关于iphone - 核心情节问题: How to add a data Indicator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2325422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com