【问题标题】:Detecting the position of a core plot graph检测核心图的位置
【发布时间】:2012-01-06 19:06:13
【问题描述】:

我正在编写一个使用核心情节的 iPhone/iPod 应用程序。我希望用户滚动图表并显示图表上该特定点的实际值(我存储一个数组)。我已经想出了如何在图形上放置一条静态线,但还没有找到一种方法来检测图形的位置。有人可以指出我在正确的地方吗?谢谢!

【问题讨论】:

  • 您是否试图在特定 xValue 处获取绘图的 yValue?你解决过这个问题吗?

标签: iphone ios core-plot ipod


【解决方案1】:

我不确定您通过检测位置来做什么。但是您始终可以使用CPTPlotSpaceDelegate 方法和CPTPlotSpace 方法来更多地了解用户对图表的操作。

想到了两种具体的方法:

- (CGPoint) plotSpace:(CPTPlotSpace *)space willDisplaceBy:(CGPoint)proposedDisplacementVector 

它会为您提供图表的位移量,以及

- (void) plotPoint:(NSDecimal *) plotPoint forPlotAreaViewPoint:(CGPoint)point 

将 CGPoint 转换为绘图空间坐标。

希望对你有所帮助。

【讨论】:

  • 这很有帮助,但不是我想要的。我希望能够知道我在 x 轴上的确切点,比如说,图表的中间(用户滚动到的位置),这样我就可以在我的数组中查找 y 值。此调用为我提供了视图滚动的点数,这可能无法完美运行。然而,我怀疑你给我的代表电话是唯一的方法。我错了吗?
【解决方案2】:

对于我的图表,这很好用。

plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.allowsUserInteraction  = YES;

plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(temp-1.2) length:CPTDecimalFromFloat(7.8)];
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-4.9) length:CPTDecimalFromFloat(50)];

其中 temp == x 轴数据的最小值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 2014-08-27
    相关资源
    最近更新 更多