在iPhone上的CorePlot(散点图)中删除负轴

5
如何从iPhone的CorePlot(散点图)中删除负轴,以及如何设置可见的图形区域?
2个回答

15

以下是从Core Plot中包含的CPTTestApp示例中提取的一些示例:

  1. 设置绘图范围:

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(0.0)
                                                length:CPTDecimalFromDouble(-10.0)];
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(0.5)
                                                length:CPTDecimalFromDouble(1500.0)];

记住,图表范围类似于 NSRange ——它们具有起始位置和长度。如果想要反转轴的方向,则长度可以为负数。

  • 限制坐标轴的长度:

  • yAxis.visibleRange   = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInteger(2)
                                                        length:CPTDecimalFromInteger(3)];
    yAxis.gridLinesRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInteger(2)
                                                        length:CPTDecimalFromInteger(3)];
    
    改变可见区域:
    graph.paddingLeft = 60.0;
    graph.paddingTop = 60.0;
    graph.paddingRight = 60.0;
    graph.paddingBottom = 60.0;    
    

    您还可以在graph.plotAreaFrame上设置填充,以使绘图区域内嵌以为轴标签和标题创建空间。

    Eric


    我正在尝试弄清楚Core Plot。你能告诉我在哪里可以找到关于CPTXYPlotSpace的解释吗?我看到你有一个范围,看起来应该从0到-10。如果你这样做了,我认为它会包括负值。 - Brian
    没错。绘图范围的位置是左端(对于x轴)或底部(对于y轴)。正长度向上计数到更高的值,而负长度则向下计数到较低的值。 - Eric Skroch

    1
    使用 plotRangeWithLocation: length: 方法。
    -(void)initXYAxesRanges{
    
        //Set graph ranges for x and y planes
        CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
        plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(0)
                                                       length:CPDecimalFromFloat(10];
        plotSpace.yRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(0)
                                                       length:CPDecimalFromFloat(10)];
    }
    

    我已经给出了这个,所以在这个区域中没有数字显示,但是轴仍然可见...还有如何更改图形的可见区域? - sujith1406

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接