2012-03-06 31 views
0

我有一张图可以根据玩家统计信息从我们的服务器获取动态变化的数据。我遇到的问题是我无法根据收到的数据找出如何对图进行居中。我认为我已经正确配置了它,但经过进一步测试,我们发现该图完全偏离中心。以下是位于我的reloadData中的代码片段。如何使用核心图和动态数据对图进行居中调整

- (void)reloadData 
{ 
    CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)Chart.defaultPlotSpace; 
    if (maxY < valueMaxY || minY > valueMinY) 
    { 
     // Reload the plot graph 
     maxY = valueMaxY + (valueMaxY/2); 

     // Properly align the Y-Axis 
     int tickCount = maxY/5; 

     if(tickCount <= 1) 
     { 
      tickCount = 1; 
     } 

     plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInt(tickCount * -1) length:CPTDecimalFromInt(maxY - (tickCount * -1))]; 

     CPTXYAxisSet *axisSet = (CPTXYAxisSet *)Chart.axisSet; 
     CPTXYAxis *y = axisSet.yAxis; 
     y.majorIntervalLength = CPTDecimalFromInt(tickCount); 
     y.minorTicksPerInterval = 1; 
     NSArray *exclusionRanges = [NSArray arrayWithObjects: 
         [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(-2.0) length:CPTDecimalFromFloat(2.0)], 
         nil]; 
     y.labelExclusionRanges = exclusionRanges; 
    } 

    [Chart reloadData]; 
} 

简要描述是,我希望图表居中根据视图来看它。如果可能的话,我希望在y和x轴上不会有超过5个刻度。我想要做的,从上面的代码片断只是y轴,是从服务器获取数据并检查值是否大于以前的值。然后我调用reloadData并检查收到的值是否大于以前消息的最小值或最大值。如果然后我重新调整图和图。

任何意见将不胜感激。

回答

0

我想通了。我必须得到从我的最小值到最大值的总距离,然后找到它的中心。一旦我得到了,我设置y轴正交点为中心添加到我的最小值。

相关问题