Android AcharEngine:在TimeSeries中访问scaleNumber

Android AcharEngine:在TimeSeries中访问scaleNumber,android,achartengine,Android,Achartengine,我正在使用AchartEngine,试图创建一个组合图表,包含一个散点图和一个折线图,都基于时间序列,有两个Y轴,每个序列一个。该项目将生成一个风向图,有点像这样: (参见“前24小时”或“前7天”示例) 我遇到了一个问题,TimeSeries的构造函数(与父类XYSeries不同)不包含scaleNumber,我需要它来正确配置两个Y轴。我看过这个问题: CraigB编辑的第二个答案似乎是一个很好的方法,但我无法编译它-编译器标记“VectorChart.MyTimeSeries类型的方法ge

我正在使用AchartEngine,试图创建一个组合图表,包含一个散点图和一个折线图,都基于时间序列,有两个Y轴,每个序列一个。该项目将生成一个风向图,有点像这样: (参见“前24小时”或“前7天”示例)

我遇到了一个问题,TimeSeries的构造函数(与父类XYSeries不同)不包含scaleNumber,我需要它来正确配置两个Y轴。我看过这个问题: CraigB编辑的第二个答案似乎是一个很好的方法,但我无法编译它-编译器标记“VectorChart.MyTimeSeries类型的方法getPadding(double)必须重写或实现超类型方法”。发生什么事了

我是一个android/java新手,请给我解释一下

我的代码:

package au.com.merenito.seatalkcharter;

import java.util.Date;
import org.achartengine.ChartFactory;
import org.achartengine.GraphicalView;
import org.achartengine.chart.ScatterChart;
import org.achartengine.chart.TimeChart;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;
import android.content.Context;

public class VectorChart {
private GraphicalView mChartView;
private MyTimeSeries mag_dataset;
private MyTimeSeries dir_dataset;
private XYMultipleSeriesDataset mDataset;
private XYSeriesRenderer mag_renderer;
private XYSeriesRenderer dir_renderer;
private XYMultipleSeriesRenderer mRenderer;
int maxPoints;

private class MyTimeSeries extends XYSeries {       
    public MyTimeSeries(String title, int scaleNumber) {
        super(title, scaleNumber);
    }
    public synchronized void add(Date x, double y) {
        super.add(x.getTime(), y);
    }
    @Override
    protected double getPadding(double x) { //********* Compiler error here!!
        return 1;
    }
}

public VectorChart(String title, int mP)
{
    maxPoints = mP;
    mag_dataset = new MyTimeSeries(title,0);
    dir_dataset = new MyTimeSeries("Dir",1);        
    mDataset = new XYMultipleSeriesDataset();
    mDataset.addSeries(mag_dataset);
    mDataset.addSeries(dir_dataset);

    mag_renderer = new XYSeriesRenderer();  
    dir_renderer = new XYSeriesRenderer();  
    //put any line customisation here, eg renderer.setColor

    mRenderer = new XYMultipleSeriesRenderer();         
    mRenderer.addSeriesRenderer(mag_renderer);
    mRenderer.addSeriesRenderer(dir_renderer);

    mRenderer.setZoomEnabled(false, false);
    mRenderer.setPanEnabled(false,false);       
    mRenderer.setChartTitle(title);
}
public GraphicalView getView(Context context)
{
    String[] types = new String[] {TimeChart.TYPE, ScatterChart.TYPE };
    mChartView = ChartFactory.getCombinedXYChartView(context, mDataset, mRenderer, types ); 
    return mChartView;
}
public void addNewPoint(Date x, float mag, float dir, boolean reFresh)
{
    mag_dataset.add(x, mag);
    dir_dataset.add(x, dir);
    while (mag_dataset.getItemCount()>maxPoints) mag_dataset.remove(0);
    while (dir_dataset.getItemCount()>maxPoints) dir_dataset.remove(0);
    if(reFresh) mChartView.repaint();
}
}
试着

private class MyTimeSeries extends XYSeries
    {
        public MyTimeSeries(String title, int scaleNumber)
        {
            super(title, scaleNumber);
        }
        public synchronized void add(Date x, double y)
        {
            super.add(x.getTime(), y);
        }
        @Override
        protected double getPadding()
        {
            return super.getPadding();
        }
    }