2014-09-23 140 views
0

我有一个图形,除了x轴和y轴之外,我还想在该图中添加两个蓝色轴。但是,这些蓝色轴出现在图下。任何想法如何将蓝色的斧头放在剧情之上?先谢谢你。坐标轴绘制在核心图中的图下

enter image description here

blueAxisList = [[NSMutableDictionary alloc] init]; 


    CPTXYAxis *blueAxis = [blueAxisList objectForKey:name]; 
    blueAxis = [[CPTXYAxis alloc] init]; 
    blueAxis.coordinate = CPTCoordinateX; 

    blueAxis.plotSpace = plotSpace; 

    CPTMutableLineStyle *lineStyle = [CPTMutableLineStyle lineStyle]; 

    lineStyle.lineWidth = 3.f; 

    blueAxis.axisLineStyle = lineStyle; 
    blueAxis.minorTickLineStyle = nil; 
    blueAxis.majorTickLineStyle = nil; 
    blueAxis.labelingPolicy = CPTAxisLabelingPolicyNone; 

    // Line cap on lhs 
    CPTLineCap *lineCap = [CPTLineCap lineCap]; 
    lineCap.size  = CGSizeMake(8., 60.); 
    lineCap.lineStyle = lineStyle; 

    lineCap.lineCapType = CPTLineCapTypeRectangle; 
    const double axisLength = plotSpace.xRange.lengthDouble; 
    blueAxis.visibleAxisRange = [CPTPlotRange plotRangeWithLocation:plotSpace.xRange.location length:CPTDecimalFromDouble(axisLength)]; 
    blueAxis.axisLineCapMax = lineCap; 

    NSMutableArray *axesList= [graph.axisSet.axes mutableCopy]; 

    [axesList addObject: blueAxis]; 
    graph.axisSet.axes = axesList; 
+0

如果不是,请在图表添加到图表后,尝试将2个蓝色轴添加到图表中。 – weezma2004 2014-09-23 16:39:37

+0

@ weezma2004情节不断更新,因此没有AFTER。你认为我可以使用图层来解决它吗?我试图弄清楚如何,但找不到任何东西。 – Pegah 2014-09-23 19:03:48

回答

0

而不是使用轴来绘制整个情节线,使用额外的地块。如果他们使用相同的线条样式,则可以使用同一个绘图绘制两条线。在绿色之后将蓝色图添加到图上,将其绘制在顶部。

+0

非常感谢您的时间。用户应该能够移动蓝线,这就是为什么我使用了轴。绿色图也是连续绘制的(这是一个实时信号)。你还以为我能做点什么吗?你认为我可以使用图层吗? @EricSkroch – Pegah 2014-09-24 06:35:44

+0

图和轴*为*图层。您可以更改顺序,但不能混合类型(所有坐标轴将在一起,所有坐标图将会在一起)。你也可以很容易地改变情节的位置。只需在图上调用'-reloadData'并给它新的数据点即可。只需要两点画一条线,所以重新加载操作应该非常快。 – 2014-09-24 11:29:06