MpAndroidChart如何根据Y轴值设置不同的颜色
我是在这篇文章看到的,但是看不明白,可能是我领悟能力低…
http://blog.csdn.net/zhangle1hao/article/details/55252539#reply
其实很简单,重写BarDataSet这个类的getColor方法:
public class MyBarDataSet extends BarDataSet {
public MyBarDataSet(List<BarEntry> yVals, String label) {
super(yVals, label);
}
@Override
public int getColor(int index) {
//根据getEntryForXIndex(index).getVal()获得Y值,然后去对比,判断
//我这1000 4000是根据自己的需求写的,可以随便设,判断条件if根据自己需求
if(getEntryForXIndex(index).getVal() < 1000)
return mColors.get(0);
else if(getEntryForXIndex(index).getVal() < 4000)
return mColors.get(1);
else // greater or equal than 100 red
return mColors.get(2);
}
}
然后,使用的时候(主要代码):
MyBarDataSet dataSet = new MyBarDataSet(data, title);
dataSet.setColors(new int[]{Color.RED,Color.GREEN,Color.YELLOW;
来看效果图(别吐槽颜色,我是随便设的)
如果看不懂的话可以看原博,每个人的理解方式不同.如果能对你有所帮助,我将不胜荣幸!