как создать статическую линию в coreplot - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь сделать мои контрольные линии статичными, поэтому вместо того, чтобы отображаться как часть графика (контрольные линии движутся вместе с графиком), они будут отображаться как ось

, приложение может толькопрокрутка по горизонтали

enter image description here

я говорю о двух красной линии и зеленой линии (которую я положил над осью х)

вот как я делаюмои строки:

// Center line
CPTScatterPlot *centerLinePlot = [[CPTScatterPlot alloc] init];
centerLinePlot.identifier = kCenterLine;

CPTMutableLineStyle *lineStyle = [CPTMutableLineStyle lineStyle];
lineStyle.lineWidth          = 2.0;
lineStyle.lineColor          = [CPTColor greenColor];


centerLinePlot.dataLineStyle = lineStyle;
centerLinePlot.dataSource = self;
[graph addPlot:centerLinePlot];

но, возможно, это как-то связано с отображаемым диапазоном:

////////ajuste la portion a voir
if(data.Resultats.count>10)
{
    plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(data.Resultats.count - 10) length:CPTDecimalFromDouble(10)];
}

plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromDouble(RangeMin) length:CPTDecimalFromDouble(RangeMax-RangeMin)];

// Adjust visible ranges so plot symbols along the edges are not clipped

CPTMutablePlotRange *xRange = [plotSpace.xRange mutableCopy];
CPTMutablePlotRange *yRange = [plotSpace.yRange mutableCopy];

//place l'axe x sur la ligne de controle pour voir les WorkOrders
x.orthogonalCoordinateDecimal = CPTDecimalFromDouble(center);

//x.orthogonalCoordinateDecimal = yRange.location;
//y.orthogonalCoordinateDecimal = xRange.location;

//x.visibleRange = xRange;
//y.visibleRange = yRange;

//x.gridLinesRange = yRange;
//y.gridLinesRange = xRange;


[xRange expandRangeByFactor:CPTDecimalFromDouble(1.15)];//1.05
[yRange expandRangeByFactor:CPTDecimalFromDouble(1.15)];
plotSpace.xRange = xRange;
plotSpace.yRange = yRange;

1 Ответ

1 голос
/ 03 апреля 2012

Если существует предел прокрутки основного графика, просто установите конечные точки контрольных линий вне этого диапазона.Базовый график будет рисовать только видимую часть.

Еще один способ сделать это - добавить второе пространство графика на график.Добавьте контрольные графики в это пространство вместо стандартных.Установите globalXRange и globalYRange, чтобы он не мог прокручиваться.

...