使用MPAndroidChart饼图显示不同的数据集

卡特琳娜

在我的应用程序中,我想在饼图上显示一些数据。我正在使用MPAndroidChart库,并且按照文档操作,我编写了一个外观漂亮的图表,正确显示了所有数据。

现在,我想改善图表,但遇到了一些麻烦。我的数据指的是一天,但有两类:收入和收入。直到现在,我还是将它们作为一个PieDataSet标签处理(它们具有标签,因此很容易区分它们)。现在,我想区分收入和收入,在同一饼图中以不同的颜色显示它们。

我尝试按照链接(折线图部分)进行调整以使其适合饼图,但是Android Studio告诉我,不能将List<IPieDataSet>as作为参数用于PieData对象的构造函数。这是代码:

public static void drawPie( List<PieEntry> entriesU, List<PieEntry>entriesE, PieChart chart){
    PieDataSet set = new PieDataSet(entriesU,"uscite");
    PieDataSet set1 = new PieDataSet(entriesE,"entrate");
    List<IPieDataSet> dataSets = new ArrayList<>();
    dataSets.add(set);
    dataSets.add(set1);
    set.setSliceSpace(5);
    set1.setSliceSpace(5);
    PieData data = new PieData(dataSets);
    chart.setData(data);
}

我进行了很多搜索,但仍未找到此问题的答案。

问题:

是否可以在同一饼图上显示多个数据集?如果有可能,我该怎么办?

戴维·罗森(David Rawson)

饼图是一个360度的圆圈,其中切片代表给定数据集总数的百分比。这仅在单个上下文的情况下才有意义IDataSet因此,与BarChart不同LineChart,aPieChart不支持Multiple IDataSet

我认为您真正想要的是为“收入”和“收入”使用不同的颜色。为此,您要做的就是创建一个List<Integer>解析的颜色(不是颜色资源),其中列表中的位置与将其PieEntry添加到图表的顺序相匹配

为了说明这一点,假设我们有以下内容:

entries.add(new PieEntry(15f, "entrate1")); //revenue1
entries.add(new PieEntry(20f, "uscite1")); //expense1
entries.add(new PieEntry(10f, "entrate2")); //revenue2
entries.add(new PieEntry(50f, "uscite2")); //expense2

您只需创建List<Integer>与之匹配的已解析颜色:

List<Integer> colors = new ArrayList<Integer>();
colors.add(ContextCompat.getColor(context, R.color.red));
colors.add(ContextCompat.getColor(context, R.color.blue));
colors.add(ContextCompat.getColor(context, R.color.red));
colors.add(ContextCompat.getColor(context, R.color.blue));
dataSet.setColors(colors);

现在,您所有的收入均为红色,支出为蓝色。您甚至可以很聪明地编写一个映射PieEntry到颜色的函数,而不是手动执行。

无论如何,这里的答案对于设置饼图切片的颜色是正确的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用单个数据集创建多个饼图

来自分类Dev

饼图布局在Firefox和Chrome上针对同一数据集产生不同的顺序

来自分类Dev

从数据集显示 R studio 中的饼图百分比

来自分类Dev

MPAndroidChart未绘制饼图

来自分类Dev

如何使用highcharts显示多个饼图

来自分类Dev

根据网格数据显示剑道图(饼图)

来自分类Dev

突出显示饼图(高图)中的活动数据标签

来自分类Dev

饼形图在应显示数据时显示“其他”

来自分类Dev

如何使用chart.js将mysql中的数据显示为饼图?

来自分类Dev

d3饼图的不同弧线显示相同的颜色

来自分类Dev

呈现饼图数据集达100%-Chart.JS

来自分类Dev

动态确定要显示的饼图数量,并使用CanvasJS在单个页面上显示每个饼图

来自分类Dev

MPAndroidChart 饼图自定义图例显示不正确

来自分类Dev

在MPAndroidChart中设置饼图的颜色

来自分类Dev

带图像的 MPAndroidChart 图形饼图

来自分类Dev

Highchart不显示带有Ajax数据的饼图

来自分类Dev

Highcharts转换:不显示饼图数据标签

来自分类Dev

饼图.js-显示无数据保留消息

来自分类Dev

在Highcharts饼图的json中显示工具提示中的数据

来自分类Dev

来自 HTML 表的数据的 Highchart(饼图)不显示图例

来自分类Dev

使用饼图显示结果时出现问题

来自分类Dev

使用SVG的饼图

来自分类Dev

在MPAndroidChart饼图中显示图像而不是文本

来自分类Dev

根据闪亮的实际输入,使用不同的数据集和列绘制不同的反应图

来自分类Dev

如何仅使用来自mysql db的数据在Google饼图图例上显示标签和值

来自分类Dev

如何在图形 MPAndroidChart 上显示数据集?

来自分类Dev

简易饼图不显示

来自分类Dev

使用带有Kotlin的mpandroidchart显示条形图

来自分类Dev

如何使用动态数据创建Google饼图?

Related 相关文章

  1. 1

    使用单个数据集创建多个饼图

  2. 2

    饼图布局在Firefox和Chrome上针对同一数据集产生不同的顺序

  3. 3

    从数据集显示 R studio 中的饼图百分比

  4. 4

    MPAndroidChart未绘制饼图

  5. 5

    如何使用highcharts显示多个饼图

  6. 6

    根据网格数据显示剑道图(饼图)

  7. 7

    突出显示饼图(高图)中的活动数据标签

  8. 8

    饼形图在应显示数据时显示“其他”

  9. 9

    如何使用chart.js将mysql中的数据显示为饼图?

  10. 10

    d3饼图的不同弧线显示相同的颜色

  11. 11

    呈现饼图数据集达100%-Chart.JS

  12. 12

    动态确定要显示的饼图数量,并使用CanvasJS在单个页面上显示每个饼图

  13. 13

    MPAndroidChart 饼图自定义图例显示不正确

  14. 14

    在MPAndroidChart中设置饼图的颜色

  15. 15

    带图像的 MPAndroidChart 图形饼图

  16. 16

    Highchart不显示带有Ajax数据的饼图

  17. 17

    Highcharts转换:不显示饼图数据标签

  18. 18

    饼图.js-显示无数据保留消息

  19. 19

    在Highcharts饼图的json中显示工具提示中的数据

  20. 20

    来自 HTML 表的数据的 Highchart(饼图)不显示图例

  21. 21

    使用饼图显示结果时出现问题

  22. 22

    使用SVG的饼图

  23. 23

    在MPAndroidChart饼图中显示图像而不是文本

  24. 24

    根据闪亮的实际输入,使用不同的数据集和列绘制不同的反应图

  25. 25

    如何仅使用来自mysql db的数据在Google饼图图例上显示标签和值

  26. 26

    如何在图形 MPAndroidChart 上显示数据集?

  27. 27

    简易饼图不显示

  28. 28

    使用带有Kotlin的mpandroidchart显示条形图

  29. 29

    如何使用动态数据创建Google饼图?

热门标签

归档