Как сделать интервал между значениями оси x и оси y с помощью achartEngine

1

Я использую aChartEngine для графиков в android, все хорошо до сих пор... Теперь я хочу установить временной интервал между значениями осей, таких как x- значения осей, интервал времени должен быть 1,5, поэтому x- значения оси будут

0, 1.5, 3, 4.5 и т.д.

Может кто-нибудь сказать мне, как установить временной интервал....

public class LineGraphDemo extends Activity {
XYMultipleSeriesDataset mDataSet;
XYMultipleSeriesRenderer mRenderer;
private GraphicalView mView;
List<double[]> values=new ArrayList<double[]>();
List<Date[]> dates=new ArrayList<Date[]>();
private Date[] mDate;
String s;
Date d=new Date();
protected void onCreate(Bundle si){
    super.onCreate(si);
    setContentView(R.layout.list1);


     s = DateFormat.format("hh:mm:ss ", d.getTime()).toString();

    String str=SimpleTimeZone.getTimeZone(TimeZone.getAvailableIDs().toString()).toString();
    Log.e("System date",s+"  "+"  "+str);


    mDate=new Date[]{new Date(110,10,5),new Date(109,6,1)};
     values.add(new double[] { 142, 123, 142, 152, 149, 122, 110, 120, 125, 155, 146, 150 });
    mDataSet=getDataSet(values);
    mRenderer=getRenderer();



}
public void onResume(){
    super.onResume();
    if(mView==null){
    LinearLayout lay=(LinearLayout)findViewById(R.id.chart);

    mView=ChartFactory.getTimeChartView(getApplicationContext(), mDataSet,mRenderer,"a");

    lay.addView(mView);
    }else{
        mView.repaint();
    }
}
protected XYMultipleSeriesRenderer getRenderer(){
    XYMultipleSeriesRenderer renderer=new XYMultipleSeriesRenderer();
    renderer.setYLabelsAlign(Align.RIGHT);
    renderer.setAxisTitleTextSize(16);
    renderer.setChartTitleTextSize(20);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);
    renderer.setPointSize(5f);
    renderer.setMargins(new int[] { 20, 30, 15, 0 });
    renderer.setChartTitle("Line Graph");
    renderer.setXTitle("x-axis");
    renderer.setYTitle("y-axis");
    //renderer.setXAxisMin(-2);
    //renderer.setXAxisMax(14);
    renderer.setXAxisMin(mDate[0].getTime());        renderer.setXAxisMax(mDate[mDate.length-1].getTime());
    renderer.setYAxisMin(50);
    renderer.setYAxisMax(200);
    renderer.setXLabels(6);
    renderer.setYLabels(10);
    renderer.setAxesColor(Color.GREEN);
    renderer.setLabelsColor(Color.MAGENTA);
    renderer.setDisplayChartValues(true);

    XYSeriesRenderer r = new XYSeriesRenderer();
    r.setColor(Color.YELLOW);
    r.setPointStyle(PointStyle.DIAMOND);
    renderer.addSeriesRenderer(r);

    return renderer;
}
protected XYMultipleSeriesDataset getDataSet(List<double[]> values){
    XYMultipleSeriesDataset dataSet=new XYMultipleSeriesDataset();
    CategorySeries series=new CategorySeries("mobile");
    for (int k = 0; k < values.size(); k++) {
          double[] xV=values.get(k);
          int seriesLen=xV.length;
          for(int l=0;l<seriesLen;l++){
            series.add(xV[l]);
        }
    }
    dataSet.addSeries(series.toXYSeries());
    return dataSet;
}

}

Это мой класс, теперь я хочу установить интервал между датами... и он не показывает график...

Спасибо... Амма

Теги:
bar-chart
achartengine

1 ответ

0

@Ammu есть два способа, которыми я расскажу вам самый простой способ использования меток для установки значений осей, таких как renderer.addTextLabel(позиция, строка, которую нужно отобразить); если вы не можете его получить, я скажу вам второй способ

  • 0
    Спасибо за ваш ответ ... на самом деле для графика временных рядов я установил List <Date []> date = new ArrayList <Date []> (); приватная дата [] mDate = новая дата [] {новая дата (110,10,5), новая дата (109,6,1)}; затем я устанавливаю минимальное и максимальное значения для рендерера как renderer.setXAxisMin (mDate [0] .getTime ()); renderer.setXAxisMax (mDate [mDate.length-1] .getTime ()); Теперь я хочу установить интервал между датами .... Как я могу это сделать ??
  • 0
    интервал между датами должен быть постоянным? как 0,1.5,3,0, который имеет общий интервал 1,5 правильно?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню