2014-03-04 2 views
1

android에서 차트 엔진 라이브러리를 사용하여 아래 그림과 같은 차트를 그려보고 있습니다.achartengine에서 제목, 레이블, 범례를 제거하십시오. Android

DESIRED_CHART.png 여기

enter image description here

내가 다음과 같다 CURRENT_CHART.png 이 그리는 enter image description here

코드를

을 얻을 것입니다

private void drawChart(){ 
    int[] x = { 1,2,3,4,5,6,7,8 }; 
    int[] happyness = { 5,2,4,1,0,4,5,0}; 
    int[] energy = { 5,4,3,1,4,3,5,0}; 
    int[] strenth = { 2,0,1,3,2,4,3,0}; 
    int[] endurance = { 0,2,1,4,3,5,2,0}; 

    // Creating an XYSeries for Income 
    XYSeries happynessSeries = new XYSeries("Happyness"); 
    // Creating an XYSeries for Income 
    XYSeries energySeries = new XYSeries("Energy"); 
    // Adding data to Income and Expense Series 
    XYSeries strenthSeries = new XYSeries("Strenth"); 
    XYSeries enduranceSeries = new XYSeries("Endurance"); 

    for(int i=0;i<x.length;i++){ 
     happynessSeries.add(x[i], happyness[i]); 
     energySeries.add(x[i],energy[i]); 
     strenthSeries.add(x[i],strenth[i]); 
     enduranceSeries.add(x[i],endurance[i]); 
    } 

    // Creating a dataset to hold each series 
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
    // Adding Income Series to the dataset 
    dataset.addSeries(happynessSeries); 
    // Adding Expense Series to dataset 
    dataset.addSeries(energySeries); 
    dataset.addSeries(strenthSeries); 
    dataset.addSeries(enduranceSeries); 


    // Creating XYSeriesRenderer to customize incomeSeries 
    XYSeriesRenderer happynessRenderer = new XYSeriesRenderer(); 
    happynessRenderer.setColor(Color.parseColor("#f4ed21"));//chart border color 
    happynessRenderer.setPointStyle(PointStyle.CIRCLE); 
    happynessRenderer.setFillPoints(true); 
    happynessRenderer.setLineWidth(2); 
    happynessRenderer.setDisplayChartValues(true); 
    happynessRenderer.setFillBelowLine(true); 
    happynessRenderer.setFillBelowLineColor(Color.parseColor("#bbf4ed21")); 

    // Creating XYSeriesRenderer to customize expenseSeries 
    XYSeriesRenderer energyRenderer = new XYSeriesRenderer(); 
    energyRenderer.setColor(Color.parseColor("#20bff2")); 
    energyRenderer.setPointStyle(PointStyle.CIRCLE); 
    energyRenderer.setFillPoints(true); 
    energyRenderer.setLineWidth(2); 
    energyRenderer.setDisplayChartValues(true); 
    energyRenderer.setFillBelowLine(true); 
    energyRenderer.setFillBelowLineColor(Color.parseColor("#bb20bff2")); 

    // strenth 
    XYSeriesRenderer strenthRenderer = new XYSeriesRenderer(); 
    strenthRenderer.setColor(Color.parseColor("#f97b1d")); 
    strenthRenderer.setPointStyle(PointStyle.CIRCLE); 
    strenthRenderer.setFillPoints(true); 
    strenthRenderer.setLineWidth(2); 
    strenthRenderer.setDisplayChartValues(true); 
    strenthRenderer.setFillBelowLine(true); 
    strenthRenderer.setFillBelowLineColor(Color.parseColor("#bbf97b1d")); 

    // endurance 
    XYSeriesRenderer enduranceRenderer = new XYSeriesRenderer(); 
    enduranceRenderer.setColor(Color.parseColor("#c68c4d")); 
    enduranceRenderer.setPointStyle(PointStyle.CIRCLE); 
    enduranceRenderer.setFillPoints(true); 
    enduranceRenderer.setLineWidth(2); 
    enduranceRenderer.setDisplayChartValues(true); 
    enduranceRenderer.setFillBelowLine(true); 
    enduranceRenderer.setFillBelowLineColor(Color.parseColor("#bbc68c4d")); 


    // Creating a XYMultipleSeriesRenderer to customize the whole chart 
    XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer(); 
    multiRenderer.setXLabels(0); 
    multiRenderer.setZoomButtonsVisible(true);    
    for(int i=0;i<x.length;i++){ 
     multiRenderer.addXTextLabel(i+1, mMonth[i]);    
    }  
    multiRenderer.setLabelsTextSize(50); 
    multiRenderer.setYLabels(0); 
    multiRenderer.setMargins(new int[]{0,0,0,0}); 

    multiRenderer.addSeriesRenderer(happynessRenderer); 
    multiRenderer.addSeriesRenderer(energyRenderer); 
    multiRenderer.addSeriesRenderer(strenthRenderer); 
    multiRenderer.addSeriesRenderer(enduranceRenderer); 

    multiRenderer.setPanEnabled(false, false); 
    multiRenderer.setZoomEnabled(false, false); 
    multiRenderer.setZoomEnabled(false, false); 

    // Creating an intent to plot line chart using dataset and multipleRenderer 
    mChart =(GraphicalView) ChartFactory.getLineChartView(getBaseContext(), dataset, multiRenderer); 

    llChart.addView(mChart); 

} 

첫 번째 및 마지막 x 축 포인트 값 (월요일 feb 3 및 2 월 9 일 월요일)이 자릅니다.이 값을 DESIRED_CHART.png로 표시하려고 애 쓰고 있습니다.

Xaxis 값 뒤에 검은 색 배경을 제거하는 방법은 무엇입니까?

답변

6

전체 X 축 점을 보여주고 배경색을

multiRenderer.setMarginsColor(Color.GREEN); 

을 변경하고 마진을 제공하려면

multiRenderer.setMargins(new int[]{0,40,0,40}); 

제목 숨기려면

multiRenderer.setChartTitle(""); 

는 전설을 숨기려면 텍스트를 값

multiRenderer.setShowLegend(false); 

여기서 multiRendererXYMultipleSeriesRenderer입니다.

+0

감사합니다. 검정색 배경 (x 축 레이블 뒤)을 제거하려면 어떻게해야합니까? 그리고 X 축의 첫 번째/마지막 점은 잘립니다. 이것에 관한 도움. – Harsh

+0

내가 대답 한 모든 것은 여백을 사용합니다. – keshav

관련 문제