【问题标题】:CorePlot (IOS): plotting the visible area (after zoom-in /zoom-out)CorePlot (IOS):绘制可见区域(放大/缩小后)
【发布时间】:2012-09-10 01:24:49
【问题描述】:

问题:

假设我有一个方程式: y = x^2

使用 core-plot 我这样做:

-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot {
    return 3000;
}

-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
    {
        NSNumber *num = nil;

        switch ( fieldEnum ) {
            case CPTScatterPlotFieldX:
                num = [NSNumber numberWithUnsignedInteger:index];
                break;
            case CPTScatterPlotFieldY:
                num = [NSNumber numberWithUnsignedInteger:index*index];
                break;
        }

        return num;
    }

但这只会绘制 3000 个点,即使在缩小后(当 X 轴显示从 0 到 5000 的点时)。所以其余区域未绘制。

我想要的是:缩小后,我可以在整个可见区域刷新绘图。

有人知道怎么做吗?

【问题讨论】:

    标签: ios core-plot


    【解决方案1】:

    首先,我会将点数限制为不超过可用于绘制绘图的像素数。除此之外,只是需要更多的时间来绘制而没有明显的好处。查看绘图区域边界的大小以获取绘图区域的尺寸。如果您可能在配备 Retina 显示屏的设备上运行,请将宽度和高度乘以 contentsScale

    您可以使用绘图空间委托来了解用户何时缩放或滚动图形。在您的委托方法内的绘图上调用 reloadData 以重新计算绘图数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多