如何为饼图元素设置自定义颜色

How to set custom color for Piechart element

我在我的 android 项目中使用 MPChart 库。 我有 Json,其中包含用于饼图生成的标签、值和颜色。 我想将 json 中的相同颜色设置为饼图元素。 我按照 MPChart 文档,但没有找到饼图颜色设置的任何解决方案。

您没有在文档中找到解决方案? Have a look here.

还有许多其他方法可以为 DataSet:

设置颜色
  • setColors(int [] colors, Context c):设置应该用于此数据集的颜色。一旦 DataSet 表示的条目数大于颜色数组的大小时,颜色就会被重用。您可以使用 "new int[] { R.color.red, R.color.green, ... }" 为该方法提供颜色。在内部,使用 getResources().getColor(...).
  • 解析颜色
  • setColors(int [] colors):设置应该用于此数据集的颜色。一旦 DataSet 表示的条目数大于颜色数组的大小时,颜色就会被重用。确保在将颜色添加到数据集之前已经准备好颜色(通过调用 getResources().getColor(...))。
  • setColors(ArrayList<Integer> colors):设置应该用于此数据集的颜色。一旦 DataSet 表示的条目数大于颜色数组的大小时,颜色就会被重用。确保在将颜色添加到数据集之前已经准备好颜色(通过调用 getResources().getColor(...))。
  • setColor(int color):设置应该用于此数据集的唯一颜色。在内部,这会重新创建颜色数组并添加指定的颜色。

添加 Philipp Jahoda 回答的内容...

您还可以创建一个包含自定义颜色的数组,您可以添加任意数量的颜色。

例如:

int [] color={ Color.rgb(100,221,23), Color.rgb(128,0,128), Color.rgb(255,136,0),
          Color.rgb(255,0,0), Color.rgb(255,127,80), Color.rgb(47,95,255)
};

要获取 rgb 代码,您可以先获取所需颜色的十六进制代码,然后使用 google.

上的在线转换器将其转换为 rgb 代码

现在您可以使用此颜色数组为饼图元素着色 图表是这样的:

PieDataSet dataSet= new PieDataSet(Yvalues,"Activities");

dataSet.setColors(color);

此方法将帮助您设置自己的颜色,您可以为饼图的任意多个元素赋予颜色。

但是如果你使用所有这些方法:

setColors(int [] colors, Context c)

setColors(int [] colors)

setColors(ArrayList<Integer> colors)

setColor(int color)

他们将通过允许饼图仅使用五个元素和少数预定义颜色来进行限制。

谢谢。