2016-08-21 6 views
0

私はx軸とy軸の値をx軸の配列とYaxisの配列として計算しなければならないiPhoneアプリケーションを持っていました 私は値を固定していました。iOSのX、Y値が異なるIOSチャートですか?

そしてiは座標 異なる(X、Y)とそのグラフ自体に散乱点をプロットする必要があり、そのxの値であり、Y values.thenと3線グラフを描画する必要があります。私はIOのチャートを使用していますlibrary.But X軸の値も変化しているグラフ にラインを異なるx値を与えるとき、私は

` chartview.descriptionText = @""; 
    chartview.noDataTextDescription = @"You need to provide data for the chart."; 

    chartview.drawGridBackgroundEnabled = NO; 
    chartview.drawBarShadowEnabled = NO; 
    chartview.highlightFullBarEnabled = NO; 
    chartview.rightAxis.enabled=NO; 


    chartview.drawOrder = @[@(CombinedChartDrawOrderLine), 
          @(CombinedChartDrawOrderScatter), 
          ]; 

    ChartLegend *l = chartview.legend; 
    l.enabled = false; 
    //chartview.xAxisRenderer 

    ChartYAxis *leftAxis = chartview.leftAxis; 
    leftAxis.axisLineWidth=2.0f; 

    leftAxis.axisLineColor =[UIColor whiteColor]; 
    leftAxis.drawGridLinesEnabled = YES; 
    leftAxis.gridColor=[UIColor whiteColor]; 
    leftAxis.gridLineDashLengths = @[@5.f, @5.f]; 
    NSLog(@"%@",yaxispoints); 
    NSLog(@"%f",[[yaxispoints firstObject] floatValue]); 
     NSLog(@"%f",[[yaxispoints lastObject] floatValue]); 
    leftAxis.axisMinimum = [[yaxispoints firstObject] floatValue]; // this replaces startAtZero = YES 
    leftAxis.axisMaximum = [[yaxispoints lastObject] floatValue]; 

    leftAxis.labelCount = [yaxispoints count]; 
    leftAxis.spaceTop = 40.0; 
    leftAxis.labelTextColor=[UIColor whiteColor]; 

    ChartXAxis *xAxis = chartview.xAxis; 
    [xAxis setDrawAxisLineEnabled:YES]; 
    xAxis.axisLineWidth=2.0f; 
    xAxis.granularityEnabled=YES; 

    xAxis.axisLineColor =[UIColor whiteColor]; 
    xAxis.labelPosition = XAxisLabelPositionBottom; 
    xAxis.axisMinimum = [[months firstObject] floatValue]; // this replaces startAtZero = YES 
    xAxis.axisMaximum = [[months lastObject] floatValue]; 
    xAxis.labelCount = [months count]; 

    xAxis.forceLabelsEnabled=YES; 
    xAxis.drawGridLinesEnabled = YES; 
    xAxis.gridColor=[UIColor whiteColor]; 

    xAxis.gridLineDashLengths = @[@5.f, @5.f]; 
    xAxis.valueFormatter = self; 
    xAxis.labelTextColor=[UIColor whiteColor]; 
    [self updateChartData]; 
    [chartview animateWithXAxisDuration:1.5 yAxisDuration:1.5];` 


    - (void)updateChartData 
{ 


    [self setChartData]; 

} 

- (void)setChartData 
{ 
    CombinedChartData *data = [[CombinedChartData alloc] init]; 
    data.lineData = [self generateLineData]; 

    data.scatterData = [self generateScatterData]; 
    chartview.xAxis.axisMaximum = data.xMax + 5.0; 

    chartview.data = data; 

} 

- (LineChartData *)generateLineData 
{ 
    LineChartData *d = [[LineChartData alloc] init]; 

    NSMutableArray *entries = [[NSMutableArray alloc] init]; 
    NSArray *scxaxis = @[@"55.987", @"75.976", @"85.976" 
          ]; 
    NSArray *scyaxis = @[@"85.987", @"25.976", @"95.976" 
          ]; 

    for (int index = 0; index < [scxaxis count]; index++) 
    { 
     [entries addObject:[[ChartDataEntry alloc] initWithX:[[scxaxis objectAtIndex:index] doubleValue] y:[[scyaxis objectAtIndex:index] doubleValue]]]; 
    } 

    LineChartDataSet *set = [[LineChartDataSet alloc] initWithValues:entries label:@"Line DataSet"]; 
    [set setColor:[UIColor greenColor]]; 
    set.lineWidth = 3.0; 
    // [set setCircleColor:[UIColor redColor]]; 
    //set.circleRadius = 0.0; 
    // set.circleHoleRadius = 0.0; 
    set .drawCirclesEnabled=NO; 
    set.fillColor = [UIColor clearColor]; 
    set.mode = LineChartModeLinear; 
    set.drawValuesEnabled = NO; 

    set.valueFont = [UIFont systemFontOfSize:14.f]; 
    set.valueTextColor = [UIColor whiteColor]; 

    set.axisDependency = AxisDependencyLeft; 

    [d addDataSet:set]; 

    return d; 
} 

にこの方法をしようとしています、私は次のようにしようとしています

しかし、折れ線グラフで各データセットに異なるx値を与えるとき、x軸は完全に間違っています。私はx軸を別の配列から取り出し、線グラフのx、y点を別の配列から取り出したいのですが、これを達成するのに誰かが助けてくれますか?あなたが最初にcalcMinMax()を呼び出す必要があります場合は、CombinedChartDataを使用している原因

答えて

0

たぶん、問題は

chartview.xAxis.axisMaximum = data.xMax + 5.0; 

です。

あなたのコードに合わせて、x軸は[0,90.976]にする必要があります。どのようなグラフが表示されますか?

関連する問題