2016-04-12 3 views
0

SwiftでChartsを使用していますが、私のx軸は[0,0.5,1.5、...、240]の月の配列ですが、x軸に表示したいのは何年もです私の新しいx軸は[0.0、1,2,3 ...、20]になります。私はXの配列をフォーマットする方法がわからない私はSwift Chartsモジュールwith valueFormatter

lineChartView.xAxis.setLabelsToSkip(23) 

を使用し、今私は一部をフォーマットしてこだわっています整数でも何年でもよい。

+0

グラフの描画に使用したコードを表示してください。 – zcui93

答えて

0

は、ここで私が使用する方法を知りませんでした、私はチャートを描画するために使用されるものです:

lineChartView.xAxis.valueFormatter?.stringForXValue(Int, original: String, viewPortHandler: lineChartView.viewPortHandler) 

私は他のソリューションで言及されたオーバーライド機能を使用しようとしましたが、それは呼び出していませんでした。

var dataSets : [LineChartDataSet] = [LineChartDataSet](); 
    dataSets.append(getLineChartData(xArr, y: p3Arr,name:"p3",color: UIColor.blueColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p5Arr,name:"p5",color: UIColor.redColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p10Arr,name:"p10",color: UIColor.greenColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p25Arr,name:"p25",color: UIColor.grayColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p50Arr,name:"p50",color: UIColor.purpleColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p75Arr,name:"p75",color: UIColor.yellowColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p90Arr,name:"p90",color: UIColor.orangeColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p95Arr,name:"p95",color: UIColor.brownColor().colorWithAlphaComponent(0.5))) 
    dataSets.append(getLineChartData(xArr, y: p97Arr,name:"p97",color: UIColor.cyanColor().colorWithAlphaComponent(0.5))) 
    //4 - pass our months in for our x-axis label value along with our dataSets 
    let data: LineChartData = LineChartData(xVals: xArr, dataSets: dataSets) 
    data.setValueTextColor(UIColor.redColor()); 

    lineChartView.xAxis.setLabelsToSkip(23); 

    lineChartView.pinchZoomEnabled = false; 
    lineChartView.doubleTapToZoomEnabled = false; 

    //lineChartView.xAxis.valueFormatter?.stringForXValue(12, original: "", viewPortHandler: lineChartView.viewPortHandler) 
    lineChartView.data = data