我在我的android项目中使用MPChart libarary。 我有Json,它包含饼图生成的标签,值和颜色。 我想从json到piechart元素设置相同的颜色。 我遵循了MPChart文档,但没有找到任何饼图颜色设置的解决方案。
答案 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)
它们将限制为允许仅使用饼图的五个元素和少量预定义颜色。
三江源。