2013-12-24 3 views
2

Я пытаюсь разработать приложение с двигателем achart, который рисует диаграмму с несколькими сериями. Вот мой код:Рисунок диаграммы чертежа Android achartengine с несколькими сериями

import java.util.ArrayList; 

import org.achartengine.ChartFactory; 
import org.achartengine.GraphicalView; 
import org.achartengine.chart.PointStyle; 
import org.achartengine.model.XYMultipleSeriesDataset; 
import org.achartengine.model.XYSeries; 
import org.achartengine.renderer.XYMultipleSeriesRenderer; 
import org.achartengine.renderer.XYSeriesRenderer; 

import android.content.Context; 
import android.graphics.Color; 

public class Graph { 
    private Context context; 
    XYMultipleSeriesDataset dataset; 
    XYMultipleSeriesRenderer renderer; 
    public static boolean ClickEnabled = true; 
    public Graph(Context context) { 
     this.context = context; 
    } 

    public void initData(ArrayList<Double> x,ArrayList<Double> y,ArrayList<Double> z){  
     XYSeries seriesX = new XYSeries("X"); 
     for(int i =0 ; i< x.size();i++){ 
      seriesX.add(x.get(i), i); 
     } 
     XYSeries seriesY = new XYSeries("Y"); 
     for(int i =0 ; i< y.size();i++){ 
      seriesY.add(y.get(i), i); 
     } 
     XYSeries seriesZ = new XYSeries("Z"); 
     for(int i =0 ; i< z.size();i++){ 
      seriesZ.add(z.get(i), i); 
     } 
     dataset = new XYMultipleSeriesDataset(); 
     dataset.addSeries(seriesX); 
     dataset.addSeries(seriesY); 
     dataset.addSeries(seriesZ); 
     renderer = new XYMultipleSeriesRenderer(); 
    } 
    public void setProperties(){ 
     renderer.setPanEnabled(true, false); 
     renderer.setClickEnabled(ClickEnabled); 
     renderer.setBackgroundColor(Color.WHITE); 
     renderer.setApplyBackgroundColor(true); 
     renderer.setChartTitle("AccelerometerData"); 
     renderer.setAxesColor(Color.BLACK); 
     XYSeriesRenderer renderer1 = new XYSeriesRenderer(); 
     renderer1.setColor(Color.RED); 
     renderer1.setPointStyle(PointStyle.DIAMOND); 
     renderer.addSeriesRenderer(renderer1); 
     XYSeriesRenderer renderer2 = new XYSeriesRenderer(); 
     renderer2.setColor(Color.GREEN); 
     renderer2.setPointStyle(PointStyle.DIAMOND); 
     renderer.addSeriesRenderer(renderer2); 
     XYSeriesRenderer renderer3 = new XYSeriesRenderer(); 
     renderer3.setColor(Color.BLUE); 
     renderer3.setPointStyle(PointStyle.DIAMOND); 
     renderer.addSeriesRenderer(renderer3); 
    } 


    public GraphicalView getGraph(){  
     return ChartFactory.getLineChartView(context, dataset, renderer); 
    } 
} 

Я получаю таблицу, как это: enter image description here

Я хочу, чтобы все три серии параллельно и хочу удалить черный фон из диаграммы;

ответ

2

Для изменения черного цвета вы можете сделать, как этот

XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
    renderer.setMargins(new int[] { top, left, bottom, right }); 
    renderer.setMarginsColor(Color.RED); 

и ваша вторая проблема плз быть более конкретным путем скриншоте или любого refrence изображения.

Смежные вопросы