Android 如何为Piechart元素设置自定义颜色

Android 如何为Piechart元素设置自定义颜色,android,graph,charts,mpandroidchart,Android,Graph,Charts,Mpandroidchart,我正在android项目中使用MPChart库。 我有Json,其中包含用于生成饼图的标签、值和颜色。 我想将json中的颜色设置为piechart元素。 我遵循MPChart文档,但没有找到任何piechart颜色设置的解决方案。您在文档中没有找到解决方案吗? 为数据集设置颜色还有许多其他方法: setColors(int[]colors,Context c):设置此数据集应使用的颜色。只要数据集表示的条目数大于颜色数组的大小,就会重用颜色。您可以使用“newint[]{R.color.r

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

您在文档中没有找到解决方案吗?

数据集设置颜色还有许多其他方法:

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

菲利普·贾霍达的回答更进一步

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

例如:

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)
setColors(int[]颜色,上下文c)
设置颜色(int[]颜色)
设置颜色(ArrayList颜色)
设置颜色(内部颜色)
它们将通过只允许在饼图中使用五个元素和很少的预定义颜色进行限制


谢谢。

谢谢你,菲利普。事实上,我遵循了相同的文档和它的摇摆。我忘了更新我的问题的ans。它正在为非索引格式的切片分配随机颜色。是否可以设置可绘制到piechart切片??