2013-08-20 2 views
2

Метод добавления XYSeries допускает только добавление (double, double). Почему он не может принять add (java.util Date, double), аналогичный TimeSeries.TimeSeries vs XYSeries AchartEngine

Я хотел бы построить ось X = даты, 2 оси Y (левая и правая) = значения, но проблема, которую я испытал, я потерял двойной график оси Y (вторичная ось Y с правой стороны), если я использую метод добавления TimeSeries с (Date, double) значениями. Если я использую XYSeries, это позволяет мне сделать двойной график оси y, но не будет принимать Даты по оси X.

код приведен ниже:

public void addXYSeries(XYMultipleSeriesDataset dataset, String[] titles, 
    List<Date[]> xValues, List<double[]> yValues, int scale) { 
    int length = titles.length; 
    for (int i = 0; i < length; i++) { 
     //XYSeries series = new XYSeries(titles[i], scale); 
     TimeSeries series = new TimeSeries(titles[i]); 
     Date[] xV = xValues.get(i); 
     double[] yV = yValues.get(i); 
     int seriesLength = xV.length; 
     for (int k = 0; k < seriesLength; k++) { 
      series.add(xV[k], yV[k]); 
     } 
     dataset.addSeries(series); 
    } 
} 

enter image description here

ответ

1

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

Таким образом, вам придется либо иметь, чтобы все оси X-диаграммы были значениями даты, либо все они были двойными значениями.

+0

Ось X графика задана для значений даты и имеет те же значения даты (значения X1 и X2 имеют одинаковые значения даты). – cloudviz

+0

Вы можете сделать series.add (date.getTime(), value); в XYSeries. –

+0

Это работает. Спасибо за помощь. Теперь я могу отображать Date по оси x и оси y (слева и справа). – cloudviz

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