Pergunta

Estou tentando criar um gráfico de dispersão cujo alcance depende do valor recebido.A variável fornecida self.xAxisMinimum recebe o primeiro valor dos dados recebidos.No entanto, quando executo meu programa, ele lê que, quando self.xAxisMinimum = 4688, plotspace.range começa em 5000.Abaixo estão as configurações do plotspace.

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)self.graph.defaultPlotSpace;
plotSpace.xRange = [CPTPlotRange       

plotRangeWithLocation:CPTDecimalFromFloat(self.xAxisMinimum - 100)  length:CPTDecimalFromFloat(60*60)];

plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)];

Há algo relacionado à duração do intervalo principal?Eu tenho um intervalo principal de 180 segundos.Abaixo está o código para os parâmetros do conjunto Xaxis.

axisSet.xAxis.title = @"Time(per sec)";
axisSet.xAxis.titleTextStyle = textStyle;
axisSet.xAxis.axisLineStyle = lineStyle;
axisSet.xAxis.titleOffset = 30.0f;
axisSet.xAxis.majorTickLineStyle = lineStyle;
axisSet.xAxis.minorTickLineStyle = lineStyle;
axisSet.xAxis.majorGridLineStyle = lineStyle;
axisSet.xAxis.minorGridLineStyle=gridStyle;
axisSet.xAxis.labelOffset = 6.0f;
axisSet.xAxis.majorIntervalLength = CPTDecimalFromFloat(180.0f);
axisSet.xAxis.minorTicksPerInterval = 5;
axisSet.xAxis.minorTickLength = 0.50f;
axisSet.xAxis.majorTickLength = 0.50f;
axisSet.xAxis.labelTextStyle = textStyle;
axisSet.xAxis.labelFormatter = formatter;

Portanto, para esta configuração eu deveria ter um eixo x começando em (4688-100) em vez de 5000.Alguém faz algum ideia do porque?muito obrigado antecipadamente

Foi útil?

Solução

o problema está em DecimalFromFloat.Dei uma entrada inteira para o valor flutuante e converti em decimal.Em vez disso, mudei para DecimalFromInteger.Funciona bem.Obrigado

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top