MPAndroidChart 教程:设置颜色 Setting Colors

v1.4.0版本开始,不再需要(不建议使用)在先前版本中负责设置颜色的ColorTemplate对象。然而,它仍然保留所有预定义的颜色数组(例如,ColorTemplate.VORDIPLOM_COLORS并提供方便的方法,用于将颜色从资源(资源整数)转换为“真实”颜色。

现在可以通过DataSet对象直接指定颜色而不是通过ColorTemplate,这允许为每个DataSet单独设置样式。

在这个简短的例子中,我们有两个不同的LineDataSet对象代表两家公司的季度收入(之前在设置数据教程中提到过),我们现在想要设置不同的颜色。

我们想要什么:

  • “公司1”的值应由“红色”的四种不同变体表示
  • “公司2”的值应由“绿色”的四种不同变体表示

这就是代码的样子:

LineDataSet setComp1 = new LineDataSet(valsComp1, "Company 1");
  // sets colors for the dataset, resolution of the resource name to a "real" color is done internally
  setComp1.setColors(new int[] { R.color.red1, R.color.red2, R.color.red3, R.color.red4 }, Context);
  
  LineDataSet setComp2 = new LineDataSet(valsComp2, "Company 2");
  setComp2.setColors(new int[] { R.color.green1, R.color.green2, R.color.green3, R.color.green4 }, Context);

除此之外,还有许多其他方法可以为一个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的唯一颜色。在内部,这将重新创建颜色数组并添加指定的颜色。

ColorTemplate 示例:

LineDataSet set = new LineDataSet(...);
set.setColors(ColorTemplate.VORDIPLOM_COLORS);

如果没有为一个 DataSet设置颜色,则使用默认颜色。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值