我有用xVals = "Su, Mo, Tu, Se, Th, Fr , Sa“表示的线条图,我想代表28分。
每个xValue 4分。(莫得四分,图得四分.)
--我想用每个xVal.中的多个点来实现这一点。

现在我知道了,我明白为什么。
One or more of the DataSet Entry arrays are longer than the x-values array of this ChartData object.对于此消息错误,我将xVals与"Su , Su, Su, Su, Mo, Mo, Mo, Mo, Tu, Tu, Tu, Tu, Th, Th, Th, Th, Fr, Fr, Fr, Fr , Sa, Sa, Sa, Sa“放在一起。但我需要每个工作日汇总我的xVals。
我怎么能解决这个问题?
菲利普,这是你的建议的结果:我只是把我的价值观替换为随机的东西。
float somefloatvalue = (float) ((Math.random() * xIndex) + 3);

发布于 2015-02-07 16:58:54
您要做的是很容易地实现.
您需要创建4个DataSet对象,每个对象包含7个值(每天一个)。
您的x值数组应该只包含7个值(每天一个)。
您可以在这里找到如何创建多个数据集的示例:https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartExample/src/com/xxmassdeveloper/mpchartexample/MultiLineChartActivity.java
简化示例:
ArrayList<String> xVals = new ArrayList<String>();
// add 7 days
xVals.add("su"); xVals.add("mo"); xVals.add("tu"); xVals.add("we");
xVals.add("th"); xVals.add("fr"); xVals.add("sa");
ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
// create 4 datasets
for (int z = 0; z < 4; z++) {
ArrayList<Entry> values = new ArrayList<Entry>();
// loop through 7 days (xIndex 0 == su)
for (int xIndex = 0; xIndex < 7; xIndex ++) {
float somefloatvalue = 1f;
values.add(new Entry(somefloatvalue, xIndex));
}
LineDataSet d = new LineDataSet(values, "DataSet ");
dataSets.add(d);
}
LineData data = new LineData(xVals, dataSets);
mChart.setData(data);
mChart.invalidate();https://stackoverflow.com/questions/28322897
复制相似问题