【问题标题】:Coreplot: Setting length of global range not workingCoreplot:设置全局范围的长度不起作用
【发布时间】:2012-06-04 14:10:19
【问题描述】:

首先,我有一个图表(Coreplot Linechart)。我已经设置了图形的 defaultPlotspace 的 x 范围和 y 范围。

- (void) setUpXRangeForPlotspace:(CPTXYPlotSpace *) plotSpace {

int rangeLength = [self xRangeLength];
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(- 0.5f)    length:CPTDecimalFromFloat(rangeLength + 1.0)];

}

- (void) setUpYRangeForPlotspace:(CPTXYPlotSpace *) plotSpace {

    float maxValue = [self maximumYValue];

    // length = maxvalue + (10% of maxvalue);
    plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0.0f)     length:CPTDecimalFromFloat(maxValue + (maxValue/10.0))];
}

现在我的任务是根据用户交互沿 x 轴显示图形的一部分(区域)。为此,我正在更改 plotspace 的 globalXRange。

我获取了两个文本字段,从中获取位置和长度。 btnAction: 方法在按下按钮时触发。

- (void) btnAction:(id) sender {

    float txt1fl = [txt1.text floatValue];
    float txt2fl = [txt2.text floatValue];


    NSLog(@"txt1fl : %f, txt2fl : %f",txt1fl,txt2fl);

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

    [plotSpace setGlobalXRange:[CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(txt1fl)  length:(CPTDecimalFromFloat(txt2fl))]];
    [plotSpace setGlobalYRange:plotSpace.globalYRange];

    NSLog(@"Graph Global x:%f   length:%f",CPTDecimalFloatValue(plotSpace.globalXRange.location),CPTDecimalFloatValue(plotSpace.globalXRange.length));

}

当我更改范围的 位置 并保持 长度 那样时,图表会显示适当的区域。也就是说,它正在滚动到数字所提到的位置。

即使我将 globalXRange 的 lengthhigher 更改为 lower 值 - 例如,将长度从 5.0到 3.0 - 图表显示适当的部分。也就是说,它在更大的图片中显示了一个较小的区域。

但是当我将 globalXRange 的长度从 lower 更改为 higher - 例如,将长度 3.0 更改为 5.0 - 图表的范围并没有增加。

设置范围后,我使用 NSLog 检查 globalXRange 的长度是否已更改。令人惊讶的是,长度根据 NSLog 发生了变化,但从视觉上看,图形没有移动也没有改变它的范围。

我无法找到解决方案。请帮我解决一下这个。提前致谢。

【问题讨论】:

    标签: ios core-plot


    【解决方案1】:

    globalXRangeglobalYRange 限制了绘图空间可以使用内置用户交互功能滚动和缩放的数量。使用xRangeyRange 控制绘图的可见部分。

    【讨论】:

    • 谢谢。解决了这个问题。现在我没有改变 globalXRange,而是改变 plotspace 的 xRange。
    猜你喜欢
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2021-06-19
    • 1970-01-01
    • 2019-08-08
    • 2015-03-22
    • 1970-01-01
    相关资源
    最近更新 更多