MP Android Chart 之柱状图

因为是个自定义控件类的组件,所以配置完依赖路径后,并不会像其他管理工具类组件一样有初始化的过程,基本上是在用的时候进行参数设置。

柱状图(BarChart)

图表会涉及到坐标轴,

  • 横轴( X 轴)
XAxis //X 轴的数据结构
//有个关键方法是 setValueFormatter(IAxisValueFormatter f)
//这个方法用来确定坐标轴上显示的内容含义,具体的绘制工作还是在 Chart 中完成
  • 纵轴(左 Y 轴,右 Y 轴)
YAxis //Y 轴的数据结构,虽说可以有左右轴,但本质都是 Y 轴
  • 坐标轴含义
IAxisValueFormatter;//定义坐标轴显示内容含义行为
DayAxisValueFormatter;//日期相关

关于 Legend 的理解,其实按着翻译来解释,Legend 表示图例,也就是图标中的示例,用来注释图标内容含义,一开始我以为是对图标内容的样式控制,看来之前理解错了。通过 Legend 可以控制图例的位置,以及字体大小等。

最后是一些附加部分,例如点击柱状图上的长方体,会显示具体内容,而这个内容是通过 MarkerView 来表现的。MarkerView 是个自定义布局,可以继承它再具体实现。

另外一部分工作就是 BarChart 对象调用一些设置类方法进行样式属性配置吧,来看些简单的,

//设置点击图表中的数值响应,例如点击某个柱状图的长方形所做的监听
//这个方法应该不光对柱状图有效,其他图表也是有效的
setOnChartValueSelectedListener(OnChartValueSelectedListener l);
//设置柱状图的背景阴影,开启后性能会下降 50%,所以没特殊要求都不要开。
setDrawBarShadow(boolean enabled);
//设置具体数值展示在柱状图长方形里面还是外面,true 就是外面
setDrawValueAboveBar(boolean enabled);
//图表右下角会有图表描述,可以控制显示或隐藏,这也是对所有图表类型都有效
getDescription().setEnabled(boolean enabled);
//设置可见的最大值,这个对柱状或者线型图都有效
setMaxVisibleValueCount(int count);
//控制 x, y 轴是否支持两指同时缩放,false 表示 x, y 轴是分开缩放的
//这个也是对柱状或者线型图都有效
setPinchZoom(boolean enabled);
//说是设置网格背景,但是简单试了好像无效
setDrawGridBackground(boolean enabled);

在图表数据赋值上,柱状图支持的数据类型是 BarData。BarData 对象需要设置一个 IBarDataSet 类型的数组集合,这个集合代表了所有的图表数据,其中任意一个集合元素就代表一个图表的数据。对应到柱状图的具体数据类型就是 BarDataSet,所以关键就是创建该类型对象。简单画了一下类图关系,
MP Android 柱状图数据结构类图.jpeg

你可能感兴趣的:(MP Android Chart 之柱状图)