1
저는 이것을 연구 중이며 많은 것을 찾지 못했습니다. 아마도 매우 간단하기 때문일 것입니다. 내가 가진 커서에서 막대 그래프를 agraphengine에 채우려고합니다. 커서가 30 행 (예상)을 뒤로 당긴다는 것을 확인했지만 거기에서 어디로 가야할지 모르겠습니다.데이터베이스에서 achartengine 그래프 채우기
: - achartengine에서public static List<double[]> getChartData(int iDays){
List<double[]> values = new ArrayList<double[]>();
// 커서 반환 30 개 결과
여기Cursor graphData = db.query(CS_Table, new String [] {"count(*)-1"}, null, null, "strftime('%Y-%m-%d', " + Time + ")", "strftime('%Y-%m-%d', " + CS_Drink_Time + ") BETWEEN strftime('%Y-%m-%d', date('now','-" + iDays + " day')) and strftime('%Y-%m-%d','now')", Time , null);
for(graphData.moveToFirst(); graphData.moveToNext(); graphData.isAfterLast()) {
values.add(new double[] {graphData.getInt(0)});
graphData.moveToNext();
}
graphData.close();
return values;
}
그리고 함수를 호출한다 무엇을 기대 : 여기
내가 채우는거야 내 배열입니다public Intent execute(Context context) {
String[] titles = new String[] { "total" };
List<double[]> values = new ArrayList<double[]>(DBhelper.getChartData(30));
values.addAll(DBhelper.getChartData(30));
int[] colors = new int[] { Color.BLUE};
XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);
setChartSettings(renderer, "Drinks in the past " + DBhelper.getChartData(30) + " days", "Date", DBhelper.CS_YDrinks, 0,
/*y axis*/32, 0, /*x axis*/10, Color.GRAY, Color.LTGRAY);
renderer.setXLabels(12);
renderer.setYLabels(10);
renderer.setDisplayChartValues(true);
renderer.setXLabelsAlign(Align.LEFT);
renderer.setYLabelsAlign(Align.LEFT);
// renderer.setPanEnabled(false);
// renderer.setZoomEnabled(false);
renderer.setZoomRate(1.1f);
renderer.setBarSpacing(0.5);
return ChartFactory.getBarChartIntent(context, buildBarDataset(titles, values), renderer,
Type.STACKED);
증상은 배열 목록에서 첫 번째 숫자 만 끌어 오는 것처럼 보입니다. 막대 하나 줄거리. 모든 제안을 부탁드립니다.
이상한 방법으로 buildBarDataset을 사용하고 있는데, 예제에서 가져온 것 같군요? 당신이 그것을 수정 한 것 같아? 어떤 방법으로? 내 생각 엔 buildBarDataset은 각각의 값이있는 여러 데이터 세트를 반환한다는 것입니다. 이것은 아마도 당신이 원하는 것이 아닙니다. – larlin