首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPandroidchart -代表每个xValue的4分

MPandroidchart -代表每个xValue的4分
EN

Stack Overflow用户
提问于 2015-02-04 13:42:08
回答 1查看 2.2K关注 0票数 3

我有用xVals = "Su, Mo, Tu, Se, Th, Fr , Sa“表示的线条图,我想代表28分。

每个xValue 4分。(莫得四分,图得四分.)

--我想用每个xVal.中的多个点来实现这一点。

现在我知道了,我明白为什么。

代码语言:javascript
复制
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。

我怎么能解决这个问题?

菲利普,这是你的建议的结果:我只是把我的价值观替换为随机的东西。

代码语言:javascript
复制
float somefloatvalue = (float) ((Math.random() * xIndex) + 3);

EN

回答 1

Stack Overflow用户

发布于 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

简化示例:

代码语言:javascript
复制
    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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28322897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档