我遇到了MPAndroidChart的问题。 我将温度和湿度数据添加到图表中,但它始终显示“没有可用的图表数据”。 谁能在这里看到我的bug在哪里? 我将非常感激!
//Create Data
//set size of data
int size = list.size();
if (size > 24){ size = 24;}
//create lists form temp and hum
ArrayList<Entry> temps = new ArrayList<Entry>();
ArrayList<Entry> hums = new ArrayList<Entry>();
//fill list temp with values
for (int i = 0; i < size; i++){
Entry value = new Entry(Math.round(list.get(list.size()-size + i).temp), (size-i));
temps.add(value);
}
//fill list hum with values
for (int i = 0; i < size; i++){
Entry value = new Entry(Math.round(list.get(list.size()-size + i).hum), (size-i));
hums.add(value);
}
//other views on screen
date.setText(dateString);
time.setText(timeString);
temp.setText(tempString);
hum.setText(humString);
//adding Data and description to array
LineDataSet setTemp = new LineDataSet(temps, "Temperature");
setTemp.setAxisDependency(YAxis.AxisDependency.LEFT);
LineDataSet setHum = new LineDataSet(hums, "Humidity");
setHum.setAxisDependency(YAxis.AxisDependency.LEFT);
//adding Arrays to DataSet
ArrayList<ILineDataSet> dataSets = new ArrayList<ILineDataSet>();
dataSets.add(setTemp);
dataSets.add(setHum);
ArrayList<String> xVals = new ArrayList<String>();
//Adding x values of range size
for (int i = 0; i < size; i++ ){
xVals.add(String.valueOf(i));
}
//add Data and create chart
LineData data = new LineData(xVals, dataSets);
chart.setData(data);
chart.invalidate();
}
});
答案 0 :(得分:0)
我很长时间看这篇文章。我唯一能想到的就是这一行:
Math.round(list.get(list.size()-size + i).hum
.hum
是什么?它可以为Entry生成不受支持的类型吗?
由于Phil J.先生还没有找到答案,所以这个问题的解决方案让我很感兴趣。
答案 1 :(得分:0)
设置数据后需要调用:
chart.invalidate();
刷新图表。