MPAndroidChart对Y轴上的刻度宽度的设置以及其他说明
来源:互联网 发布:python 调用批处理 编辑:程序博客网 时间:2024/06/16 22:58
今天发现官方接口有更方便的解决方案
mChart.setViewPortOffsets(left, top, right, bottom),设置这个方法后,四个方向的偏移就不会进行动态计算了(不设置的话,会根据动态计算出的labels值进行计算宽度或高度,来设置labels占用的宽度(y轴上labels)或高度(x轴上数据)),固定为这里设置的值(px 像素值)
Chart中关于LineChart的说明(因为我只在LineChart上做了实验,相比其他的形状的图像类似):
setViewPortOffsets(final float left, final float top,final float right, final float bottom) 这里的单位是px
参数left是指左侧y轴上刻度值占用的宽度,top指上面的x轴线(如果有的话)刻度所占用的高度(如果没有刻度值,则图上放的空白距离会增加这个距离),right是指右侧y轴刻度值宽度,如果没有右侧y轴,则图的右边界距离会增加right距离;bottom是指下面的x轴的刻度值宽度,如果没有下边的x轴,则图下方的空白距离会增加bottom的距离
以下图为例,最外层的黑色矩形区域就是指绘制的图片所在的区域,这里不考虑padding,margin设置,只考虑绘图时使用的偏移。
setViewPortOffsets中的参数left就是指2处矩形框的宽度
此轴线对象可以设置刻度值距离轴线的距离,即leftAxis.setXOffset(20f);中的20f(单位是dp)就是指3处的空隙宽度
setExtraOffsets(float left, float top, float right, float bottom);单位是dp,left是指1处空隙的宽度,其他参数分别是图片距离上右下留的空白
---------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------------------
在使用MPAndroidChart绘制曲线图的时候,如果数据是动态加载的,那么y轴上的刻度值会根据计算出来的数值进行动态显示,从而会造成在数据动态添加的过程中,由于数据的位数可能会变大,就会使y轴线刻度值宽度变大,那么整个图也就跟着变化。如何做到 y轴上的刻度值宽度总是固定不变,以至于使Y轴线固定在某个位置不会变化呢?下面提出一种解决方案
在MPAndroidChart的源文件中找到ViewPortHandler类
添加成员
private int mMaxOffsetLeft = 0;
对应的使用接口为
public void setMaxOffsetLeft(int offsetLeft) { mMaxOffsetLeft = offsetLeft; }
原有的restrainViewPort方法修改成如下
public void restrainViewPort(float offsetLeft, float offsetTop, float offsetRight, float offsetBottom) { if (mMaxOffsetLeft != 0) { offsetLeft = mMaxOffsetLeft; } mContentRect.set(offsetLeft, offsetTop, mChartWidth - offsetRight, mChartHeight - offsetBottom); }
使用方法为
mChart.getViewPortHandler().setMaxOffsetLeft(150);
当然,上述的方法,只是解决一个偏移量的设定,而其他方向上的偏移量仍然根据计算动态改变。当然也可以类似于上面的做法进行解决。
- MPAndroidChart对Y轴上的刻度宽度的设置以及其他说明
- MpAndroidChart如何根据Y轴值设置不同的颜色
- HighCharts如何设置Y轴的刻度,就是Y轴是0,25,50,100。
- ECharts | 改变 yAxis y轴的刻度
- MPAndroidChart设置柱状图中每个柱状的宽度
- Excel2016中设置X轴的刻度
- mpchart 如何对y轴取整及对y轴上对应显示的数据取整数
- EChar中的柱状图如何设置柱子的最大宽度和刻度的最小间隔
- 设置 highcharts 图表Y轴坐标刻度 为整数
- 可以设置刻度的进度条
- 可以设置刻度的进度条
- highcharts图表 去掉highcharts的logo 改变y轴的刻度 改变背景颜色 去掉图例
- 控制Highcharts中x轴和y轴坐标值的刻度
- 画统计图、柱状图X轴、Y轴的刻度坐标标度算法
- MPAndroidChart的相关图表设置
- 数轴的刻度对结论的影响
- 自定义设置刻度控件ScaleView的讲解
- 实现echarts插件刻度轴的二级刻度
- 快慢指针的概念及其应用
- 学习打印
- HBase源码分析之WALEdit
- Cpp_顺序表
- 四轴PID讲解
- MPAndroidChart对Y轴上的刻度宽度的设置以及其他说明
- 邻接表的vector表示方法
- DOM(一)一些属性方法介绍以及兼容性问题
- Island of Survival LightOJ
- < application >标签
- Android_Version
- redis小本本之sentinel(五)
- Android M系统启动流程
- iOS CoreAnimation(一)图层与视图,寄宿图