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

时间:2015-07-09 11:05:35

标签: android graph charts mpandroidchart

我在我的android项目中使用MPChart libarary。 我有Json,它包含饼图生成的标签,值和颜色。 我想从json到piechart元素设置相同的颜色。 我遵循了MPChart文档,但没有找到任何饼图颜色设置的解决方案。

2 个答案:

答案 0 :(得分:5)

您在文档中找不到解决方案? I suggest you take a closer look

还有许多其他方法可以为DataSet设置颜色:

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

答案 1 :(得分:0)

加上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)

它们将限制为允许仅使用饼图的五个元素和少量预定义颜色。

三江源。