目录
第8节.Setting Colors(MPAndroidChart中文翻译)
第9节.Formatting Data Values (ValueFormatter)(MPAndroidChart中文翻译)
第10节-Formatting Axis Values (AxisValueFormatter)(MPAndroidChart中文翻译)
第11节.General Settings & Styling(MPAndroidChart中文翻译)
第12节.Specific Settings & Styling(MPAndroidChart中文翻译)
第13节.Legend(MPAndroidChart中文翻译)
第14节.Dynamic & Realtime Data(MPAndroidChart中文翻译)
第15节. Modifying the Viewport(MPAndroidChart中文翻译)
第16节.Animations(MPAndroidChart中文翻译)
第17节. MarkerView (Popup View)(MPAndroidChart中文翻译)
第18节. The ChartData class(MPAndroidChart中文翻译)
第19节. ChartData subclasses(MPAndroidChart中文翻译)
第20节. The DataSet class (general DataSet styling)(MPAndroidChart中文翻译)
第21节. DataSet subclasses (specific DataSet styling)(MPAndroidChart中文翻译)
第22节. The ViewPortHandler(MPAndroidChart中文翻译)
第23节. Customizing the Fill-Line-Position (FillFormatter)(MPAndroidChart中文翻译)
第24节. Proguard(MPAndroidChart中文翻译)
第25节. Realm.io mobile database(MPAndroidChart中文翻译)
第26节. Creating your own (custom) DataSets(MPAndroidChart中文翻译)
第27节. Miscellaneous (more useful stuff)(MPAndroidChart中文翻译)
设置颜色
v1.4.0正式版之后,在以前版本中负责设置颜色的ColorTemplate 对象将不再需要.尽管如此,它仍然拥有所有的预定颜色数组(举个栗子:ColorTemplate.VORDIPLOM_COLORS )并且提供将颜色从资源(资源数值)转换为真实颜色的便利方法.
取代ColorTemplate对象的功能,颜色可以直接通过DataSet对象直接设置,这允许为每个DataSet设置单独的样式.
举个简单的例子,我们有两个不同的LineDataSet对象,代表两个公司的季度收入(以前在设置数据的教程中提到过),现在我们要给他们设置不同的颜色.
任务:
- Company1的数据需要被设置四种不同颜色的红色
- Company2的数据需要被设置四宗不同颜色的绿色
代码示例:
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的集合长度比颜色集合长度达时,颜色值将被复用.你可以使用"new int[]{R.color,R.color.green,...}" 这个方法提供颜色值,程序内部,颜色是通过geResources().getColor(...)方法来获取的.
- setColors(int [] colors): 设置DataSet颜色,当DataSet的集合长度比颜色集合长度达时,颜色值将被复用.确定颜色在添加到DataSet之前已经被准备好(通过getResources().getColor(...)).
- setColors(ArrayList<Integer> colors): 设置DataSet颜色,当DataSet的集合长度比颜色集合长度达时,颜色值将被复用.确定颜色在添加到DataSet之前已经被准备好(通过getResources().getColor(...)).
- setColor(int color):给DataSet对象设置唯一的一种颜色.程序内部,将重新创建colors数组并添加指定的颜色;
ColorTempate example:
LineDataSet set = new LineDataSet(...);
set.setColors(ColorTemplate.VORDIPLOM_COLORS);
如果DataSet没有设置颜色,将会使用默认颜色.