2015-10-16 70 views
0

我有一个数据集,我正在绘制为CPTScatterPlot。我还显示了一系列使用Core Graphics(CGContextStrokePath,...)的行。我想链接一组线条和散点图,这样它们可以缩放和平移。以下是参考图片的链接。使用CPTScatterPlot缩放核心图形笔划路径

http://oi57.tinypic.com/2pq2bdx.jpg

有两种可能的方法来这个,我能想到的:

  1. 的套系创建CPTLayerAnnotation并添加到情节。我已经这样做了,但我无法链接交互行为。
  2. 使每一行成为一个CPTScatterPlot对象并绘制在同一个图上。这将工作,但似乎是在创建对象的数量方面矫枉过正。

你会建议什么?谢谢。

回答

0

您可以使用散点图来绘制线条,但每种颜色都需要一个。通过将数据值分别为[NSNull null]nil,可以绘制多条线段与单个散点图。

这将是最容易使用条形图绘制线条。您可以使用-barLineStyleForBarPlot:recordIndex:和/或-barFillForBarPlot:recordIndex:数据源方法为每个栏提供不同的线条样式和填充。条形图可以使用与散点图相同的绘图空间,或者可以创建第二个绘图空间,并使用绘图空间代表将一个绘图空间中的变化镜像到另一个绘图空间。如果希望条之间的间距(由绘图空间的xRange控制)随散点图而变化,但不是条的基部或尖部,请使用第二个绘图空间。

+0

谢谢埃里克!我很高兴CPTBarPlot可以在这里使用。我创建了一个类来封装CPTBarPlot对象和两个NSMutableArrays以获取响应的位置和正确性。我利用数据源方法来绘制带有透明边框线的条。编写'barFillForBarPlot:recordIndex'是为了根据正确性数组值返回所需的(绿色或红色)颜色到barFill。由于我将限制垂直缩放并一起移动,因此我现在使用相同的绘图空间来绘制散点图和条形图。 –