удалить отрицательные оси из coreplot (точечной диаграммы) в iphone - PullRequest
5 голосов
/ 20 июня 2011

Как убрать отрицательные оси из corePlot (scatterplot) в iphone и как установить видимую область графика?

Ответы [ 2 ]

15 голосов
/ 21 июня 2011

Вот некоторые примеры, извлеченные из примера 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 - они имеют начальное местоположение и длину.Длина может быть отрицательной, если вы хотите изменить направление оси в обратном направлении.

  2. Ограничение длины осей:

    yAxis.visibleRange   = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInteger(2)
                                                        length:CPTDecimalFromInteger(3)];
    yAxis.gridLinesRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInteger(2)
                                                        length:CPTDecimalFromInteger(3)];
    
  3. Изменениевидимая область:

    graph.paddingLeft = 60.0;
    graph.paddingTop = 60.0;
    graph.paddingRight = 60.0;
    graph.paddingBottom = 60.0;    
    

    Вы также можете установить отступ на graph.plotAreaFrame, чтобы вставить область графика и создать пространство для меток и заголовков осей.

Eric

1 голос
/ 20 июня 2011

Используйте 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)];
}
...