我在我的应用中使用MPAndroidChart。我想使用yAxis上的值和xAxis上的日期来绘制图表。我在MPAndroidChart API中找不到任何日期时间轴。有没有办法使用日期绘制xAxis?我有价值来反对日期。我想在xAxis上显示(ddMMM-yy)格式的日期和yAxis上的值。任何人都可以通过我的样本链接吗?
示例数据:
Date(xAxis) | Value(yAxis)
------------|-------------
01/01/2001 | 966.78
01/02/2001 | 666.78
01/03/2001 | 966.78
01/04/2001 | 966.78
01/05/2001 | 966.78
01/06/2001 | 966.78
01/07/2001 | 966.78
答案 0 :(得分:1)
这是最古老的增强功能之一。不幸的是,MPAndroid还不支持它。 资源: https://github.com/PhilJay/MPAndroidChart/issues/12 https://github.com/PhilJay/MPAndroidChart/issues/133
答案 1 :(得分:0)
我认为您可以根据日期调整Xaxis数组并将其解析为图表
if (mRecordDate.equals(mCurrentDate)) {
float weightVal = 0.0f, bmiValue = 0.0f;
try {
weightVal = (float) (profileWeightInfo.getWeight());
} catch (Exception e) {
Log.e("Error" + "Parsing weightVal Entry");
}
try {
bmiValue = (float) (profileWeightInfo.getBmi());
} catch (Exception e) {
Log.e("Error" + "Parsing diaVal Entry");
}
valuesWeights.add(new Entry(weightVal, counter));
valueBMI.add(new Entry(bmiValue, counter));
xVals.add(mRecordDate);
}
}
if (xVals.indexOf(mCurrentDate) < 0) {
valuesWeights.add(new Entry(0, counter));
valueBMI.add(new Entry(0, counter));
xVals.add(mCurrentDate);
}
counter++;
谢谢
答案 2 :(得分:0)
我知道已经晚了,但是对某人可能会有所帮助。
您可以将日期存储在数组中,然后可以使用图表的setValueFormatter属性将其显示在图表的x轴上。
在顶部声明dev数组。
final String dev1[] = new String[100];
然后在图表中显示
final JSONObject object = jsonArray.getJSONObject(i);
dev1[i] = object.getString("real_time");
barEntries.add(new BarEntry(i, Float.parseFloat(value)));
final BarDataSet barDataSetgen = new BarDataSet(barEntries, " ");
XAxis bottomAxis = mcvbarchart.getXAxis();
bottomAxis.setValueFormatter(new IndexAxisValueFormatter(dev1)); /*for x axis values*/
bottomAxis.setLabelCount(barEntries.size());
bottomAxis.setPosition(XAxis.XAxisPosition.BOTTOM);