刷新核心图散点图

时间:2014-06-22 20:02:01

标签: objective-c cocoa core-plot

我有一个使用Core Plot(v 1.5)创建的散点图。数据源是包含(x,y,value)的字典。我希望能够动态调整要绘制的(x,y)对的数量。但是,在我更改数据源中包含的(x,y)对的数量之后,我的graphHostingView不刷新散点图,直到我调整窗口大小。当我调整窗口大小时,会加载并绘制新值。我尝试了几种解决方案,包括:

  • [graph reloadData]
  • [scatterplotview setNeedsDisplay:YES]
  • 强制拨打:[self.myScatterPlot.plotItem renderInView:self.myScatterPlot.hostingView withTheme:nil animated:NO withData:nil];

没有成功。任何人都可以建议一种方法,使我的散点图能够在值更改时动态更新或向我发送示例链接吗?提前致谢。干杯,特隆德

1 个答案:

答案 0 :(得分:3)

有几种方法可以告诉Core Plot图表您有新数据可用:

  • -reloadData:用新数据点替换所有绘图数据。在图表上调用此方法会导致图表中的所有绘图重新加载其数据。

  • -reloadDataInIndexRange::将给定索引范围内的绘图数据替换为新值,使得此范围之外的点不受影响。

  • -insertDataAtIndex:numberOfRecords::在给定索引处插入新数据点,根据需要将现有数据点移动到更高的索引。

  • -deleteDataInIndexRange::删除指定范围内的现有数据,并移动现有数据点以缩小差距。

"实时情节" Plot Gallery 示例应用程序中的演示使用这些方法来更新其数据。该演示使用计时器生成随机绘图数据,但您的新数据可以来自任何地方。