这个ChartData类是所有数据类(子类)的基类,类似于LineData, BarData、…诸若此类。它用于为Chart通过setData(…)图表的方法。
其实很多时候用ChartData的子类的方法就能够满足功能需求,这篇文章是为了让你更好的熟悉和了解图表的数据模型
ChartData类
首先写一个类继承ChartData
1 | public class LineData extends ChartData { ... |
下面这些方法是ChartData的方法,所以对于其子类都使用:
自定义数据样式
- setValueTextColor(int color) —— 设置所有数据(绘制值)的颜色。
- setValueTextColors(List
colors) —— 设置所有数据字体颜色。(数组内的元素循环使用) - setValueTextSize(float size) —— 设置所有数据字体的大小(以dp为单位)。
- setValueTypeface(Typeface tf) —— 设置所有数据字体的字体类型。
- setValueFormatter(ValueFormatter f) —— 自定义数据值显示的样式
- setDrawValues(boolean enabled) —— 启用/禁用 绘制数据值。
获取数据值
- getDataSetByIndex(int index) —— 返回传入索引处的DataSet的数据。
- contains(Entry entry) —— 检查此数据对象是否包含指定的条目。如果返回true,则返回false。注意:此方法会降低性能
- contains(T dataSet) —— 查询此数据对象是否包含传入的DataSet。
清除数据
clearValues() —— 清除所有DataSet数据和Entry数据,但不删除X轴上的坐标轴数据
高亮
- setHighlightEnabled(boolean enabled) —— 启用/禁用 触摸数据时高亮显示
- setDrawVerticalHighlightIndicator(boolean enabled) —— 启用/禁用 触摸数据时垂直高亮指示符(高亮显示时那根竖线)显示
- setDrawHorizontalHighlightIndicator(boolean enabled) —— 启用/禁用 触摸数据时水平高亮指示符(高亮显示时那根横线)显示
动态数据
notifyDataChanged() —— 让数据对象知道它的底层数据已经改变,并执行所有必要的重新计算。
ChartData子类
BarData
- setGroupSpace(float percent) —— 设置不同数据集的条形图(图组)之间的距离,100正好是一个条形宽度,默认值为80
- isGrouped() —— 判断此数据是否由多个数据对象组成,如果是则返回 true、否则返回 false。
ScatterData
getGreatestShapeSize() —— 返回所有形状的最大值
PieDat
- getDataSet() —— 返回PieDataSet对象。
- setDataSet(PieDataSet set) —— 设置PieDataSet
BubbleData
setHighlightCircleWidth(float width) —— 设置围绕气泡的圆的宽度
CombineData
混合图表的话就是包含了其他图表的所有特性:
1 | public class CombinedData extends ChartData { |
- 本文作者: Android YU
- 本文链接: http://yoursite.com/2020/03/19/MPAndroidChart的详细使用——ChartData类以及ChartData子类/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!