首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPAndroidChart:组合图表

MPAndroidChart:组合图表
EN

Stack Overflow用户
提问于 2015-06-26 00:42:07
回答 3查看 15.3K关注 0票数 8

我正在使用MPAndroidChart library

我想使用CombinedChart创建一个这样的图表:

这有可能吗?我试过了,但它似乎不起作用,因为条目并不像我预期的那样工作。您不能说一个条目在x轴上的值为2,在y轴上的值为300。我也不能创建两个不同的y轴,一个用于条,一个用于线。

奇怪的是,MPAndroidChart首先将所有x值相加,然后再将所有y值相加,您无法控制哪个y值属于哪个x值,因为它只是按y值出现的顺序插入y值,并将其与下一个x值关联。

有没有什么方法可以用MPAndroidChart创建这样的图表。实际上,我不想因为需要的互联网连接而被迫使用Google Charts (但创建这样的图表将与Google Charts完美配合)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-26 15:24:11

  • 你可以有两个不同的轴,你可以控制哪个y值属于哪个x值(当然!)
  • 看起来像这样:

更新:v3.0.0+

CombinedChart的示例进行了扩展,现在允许堆叠条形图和分组条形图与其他图表类型一起使用。

CombinedChart设置数据的本质是CombinedData类。它可以填充各种其他数据,如LineDataBarData等:

代码语言:javascript
复制
    CombinedData data = new CombinedData();

    data.setData(generateLineData()); // set LineData...
    data.setData(generateBarData()); // set BarData...
    data.setData(generateBubbleData());
    data.setData(generateScatterData());
    data.setData(generateCandleData());

    chart.setData(data);
    chart.invalidate();

例如,如何创建LineData可以在setting data文档中找到。

票数 5
EN

Stack Overflow用户

发布于 2015-06-26 02:34:51

您可以创建一个自定义类来扩展视图,并在onDraw方法中为条形图创建所需高度、宽度和位置的矩形。至于线条,这是显而易见的,设置笔划使其更明显。

我使用自定义视图在我的应用程序WhiteMarker中创建了条形图,并在Chron中创建了线条。

票数 1
EN

Stack Overflow用户

发布于 2019-04-24 01:21:37

由于接受的aswer具有断开的链接,因此您应该使用:

代码语言:javascript
复制
<com.github.mikephil.charting.charts.CombinedChart
        android:id="@+id/chart"/>

在您的XML中

下面是一些代码:

代码语言:javascript
复制
        LineData linearData = new LineData(set1);
        // Set you LinearData

        BarData barData = new BarData(set2);
        // Set you LinearData

        CombinedData data=new CombinedData();
        data.setData(linearData);
        data.setData(barData);

编辑:原始答案已被修改,以反映我刚刚写的内容。链接已更新,并添加了一些代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31056095

复制
相关文章

相似问题

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