2024年Android最新Android图表年度最强总结,一篇文章从入门到精通!,面试考验什么

最后

Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。

人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。

资源持续更新中,欢迎大家一起学习和探讨。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

坐标轴作为图表最重要的元素之一,对其进行一番美化是非常有必要的!比如你可以通过setEnabled(boolean enabled)方法设置是否绘制坐标轴,也可以通过setAxisMaximum(float max)方法设置坐标轴上的最大值、最小值。根据需要,你甚至可以通过setInverted(boolean enabled)把坐标轴反转过来!当然,坐标轴有一个非常重要的属性是经常需要设置的,那就是坐标轴上的标签,可能你需要显示的X轴是星期的形式,而默认的则是阿拉伯数字,这里直接通过.setValueFormatter();方法重新格式化一下即可!部分X轴的实现方法如下:


XAxis xAxis = chart.getXAxis();//实例化X轴对象进行使用

//设置X轴位置 有以下几种   TOP   BOTTOM   BOTH_SIDED   TOP_INSIDE    BOTTOM_INSIDE

xAxis.setPosition(XAxisPosition.BOTTOM);

//设置X轴标签数据绘制的角度   也就是X轴上数据标签的旋转角度

xAxis.setLabelRotationAngle(90)

xAxis.setTextColor(Color.RED);//设置标签字体颜色

// 自定义X轴上的数据格式

xAxis.setValueFormatter(new MyCustomFormatter());



具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——坐标轴(X轴、Y轴、零线)

添加数据

添加数据其实很简单,只需要写一个List,然后向里面添加你的数据,但是由于绘制不同图表所需要填入的参数不同,List<>尖括号里面所包含的类型也需要转变,比如折线图(LineChart)是List,比如条形图(BarChart)是List,而饼图(PieChart)则是List等等,每种图都有不同的Entry,所以你添加数据时参数也会有所差异,下面列举了几个例子:


//折线图(LineChart)添加数据

List<Entry>list=new ArrayList<>();   

//其中两个参数对应的分别是   X轴   Y轴

list.add(new Entry(1,10));

list.add(new Entry(2,12));



//条形图(BarChart)添加数据

List<BarEntry>list=new ArrayList<>();

//其中两个数字对应的分别是   X轴   Y轴

list.add(new BarEntry(1,7));     

list.add(new BarEntry(2,10));



//饼图(PieChart)添加数据

List<PieEntry> list= new ArrayList<>();

//第一个参数是当前所占区域的大小数据,第二个参数是当前扇形的描述

list.add(new PieEntry(20, "软件设计"));

list.add(new PieEntry(30, "英语"));



具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——设置数据

ValueFormatter接口

如下图,其中折线上数据的单位、X轴标签的自定义都是通过ValueFormatter接口来实现的,ValueFormatter接口可以对图表数据、X轴、Y轴进行数据的格式化(自定义),在实际开发中是一个非常常用的接口,也是学习图表必学的技能点之一!

在这里插入图片描述

在这里插入图片描述

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——ValueFormatter接口

图表样式设置

在这里插入图片描述

说到图表的一些样式设置,如上图是简单地设置了一下图表的背景颜色,想要作出一个漂亮的图表,图表的整块视图的样式设置就显得极为重要了,比如你需要调整一下整个图表的背景颜色只需要调用setBackgroundColor(int color)方法,比如你想设置整个图表的边框以及边框线的宽度只需要调用setBorderColor(int color)setBorderWidth(float width)方法即可,等等的方法还有很多…

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——图表的设置and图表样式设置

图例

图例同样作为图表最重要的元素之一,其样式的美化也是学习图表必不可少的一门功课,如下图,图例的样式以及位置那是千变万化,只需要小小几行代码,你就可以拥有一个精美的小图例,你可以调用setEnabled(boolean enabled)方法来禁用(或启用)图例,你也可以调用setPosition(LegendPosition pos)方法来设置图例在图表中的位置,你甚至可以setCustom(int[] colors, String[] labels)自定义图例的颜色以及标签文本的内容!

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——Legend图例的详细设置

| 在这里插入图片描述 | 在这里插入图片描述 |

| — | — |

| 在这里插入图片描述 | 在这里插入图片描述 |

图表的描述(右下角的英文)

在这里插入图片描述

刚学习图表的同学可能会注意到,无论画的是什么类型的图表,右下角总是会有一串很小的英文字母,也不知道干啥的,总是和狗皮膏药一样跟着你的每一个图表,当然英语比较好的同学就能看懂单词的意思,那就是图表的描述,实际开发中我们用到图表的描述的时候并不多,你要说给图表加描述,你大可以在图表的上方加上一个TextView,可以实现更多的标题样式,而这个描述你要让它显示在你的图表正上方,然后去定义一些字体大小、字体颜色完全不如去写一个TextView简单,说归说,用法还是要会的,嘿嘿嘿

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——图表描述的设置(右下角的那串英文)

图表动态数据

在这里插入图片描述

如上图,动态数据也是实际开发中经常需要用到的属性,这里演示的添加数据和删除数据,当然如果你是要做一个实时更新数据图表也是同理,只需要对你的数据重新进行设置,然后调用.notifyDataSetChanged().invalidate()方法对图表的数据以及显示进行更新,你就会看到一个拥有全新数据的图表出现在你面前!

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——图表动态实时数据

修改视窗显示

修改视窗显示,实际上是对View的显示进行一些设置,比如利用setVisibleXRangeMaximum(float maxXRange)方法,对一次最大显示的X轴大小进行定义,或者利用setExtraOffsets(float left, float top, float right, float bottom)设置额外的偏移量(围绕图表视图),再或者可以调用centerViewTo(float xValue, float yValue, AxisDependency axis)将当前视图的中心移动到指定的x值和y值,以及利用代码对视图进行缩放等等…

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——修改视窗显示

动画

在这里插入图片描述

作为一名效果派,一个图表没有个像样的动画哪里行?木呆木呆那都不是我的风格,这里只是演示了动画中最简单的Y轴动画,注意这是最简单的,可以说是最Low的效果,有多少种你就数数下面多少种吧(20+),效果之多我都想用图表做个动画片了~


public enum EasingOption {//由于效果太多,中间用逗号隔开了

Linear,EaseInQuad,EaseOutQuad,EaseInOutQuad,EaseInCubic,EaseOutCubic,EaseInOutCubic,EaseInQuart,

EaseOutQuart,EaseInOutQuart,EaseInSine,EaseOutSine,EaseInOutSine,EaseInExpo,EaseOutExpo,EaseInOutExpo,

EaseInCirc,EaseOutCirc,EaseInOutCirc,EaseInElastic,EaseOutElastic,EaseInOutElastic,EaseInBack,EaseOutBack,

EaseInOutBack,EaseInBounce,EaseOutBounce,EaseInOutBounce

}



具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——动画

MarkerView

iMarker接口可以实现自定义高亮显示标记的视图,只需要写一个类去继承MarkerView,然后实例化Marker以后,调用图表的.setMarker()方法即可。

这里是两个预设的IMarker

| MarkerView | 允许加载一个layout去展示对应的标注,继承这个类并重写refreshContent(…)方法来使用标注数据 |

| — | — |

| MarkerImage | 允许加载一张图片在标注上显示对应的图片,继承这个类并重写refreshContent(…)方法来使用标注数据 |

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——MarkerView

ChartData类以及ChartData子类

ChartData类是所有数据类(子类)的基类,类似于LineData, BarData、…诸若此类。它用于为Chart通过setData(…)图表的方法。其实很多时候用ChartData的子类的方法就能够满足功能需求,这里是为了让你更好的熟悉和了解图表的数据模型。先写一个类继承ChartData,然后重写一些方法等等,这里不多BB。

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——ChartData类以及ChartData子类

DataSet类以及DataSet子类

DataSet类是所有数据集类(子类)的基类,类似于LineDataSet, BarDataSet、…诸若此类。其方法基本和ChartData一样,所以也不多BB。

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——DataSet类以及DataSet子类

ViewPortHandler(视图控制器)

ViewPortHandler类负责处理图表的视图端口。这意味着它负责图表视图中可见的内容,它在平移和缩放级别、图表的大小以及绘图区域和当前偏移量方面都是当前状态。这个ViewPortHandler允许直接访问上述所有属性并修改它们。建议:这方面的设置最好是有一定水平且熟悉API的人来进行操作,否则可能会出现很多意外错误。

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——ViewPortHandler(视图控制器)

FillFormat接口

FillFormatter接口允许自定义LineDataSet的数据应在何处不进行绘制(也就是跳过)。只需要创建一个类并实现FillFormatter接口来使用。很简单,写一个类实现FillFormat接口,然后DataSet对象调用.setFillFormatter()方法传入参数即可实现。

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——FillFormat接口

很有用的杂项设置

这部分是官方归类为杂项的一些方法,比如:清除图表数据、以及一些获取图表的信息的方法、还有把图表保存成图片存放在手机的图库等等…!有一些都是实际开发经常需要使用的方法,所以也很重要!比如clear()清除图表中所有的数据,比如isEmpty()判断图表数据对象是否为空,再比如saveToGallery(String title)将当前图表作为图像保存到图库(需权限)。

具体代码以及更多实现请跳转至我的原创博客:MPAndroidChart的详细使用——杂类(很有用)

最后献上一大波效果图

折线图的

在这里插入图片描述

条形图的

在这里插入图片描述

饼图的

在这里插入图片描述

雷达图、气泡图、散点图、、蜡烛图、组合图的

在这里插入图片描述

学习福利

【Android 详细知识点思维脑图(技能树)】

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Excel 从入门到精通是一本非常适合Excel初学者的学习教材,不仅基础内容详尽易懂,而且通过实例讲解提高了学习与实践的效率。本书分为基础篇、提高篇和进阶篇三个部分,其中基础篇适合零基础的读者学习,涵盖了Excel的基本操作、公式计算、图表制作等内容。提高篇则在基础内容上加强了函数的介绍及应用,其中图形统计分析更是成为重点。进阶篇则涉及了更高级的函数计算和数据透视表,算法构建和VBA编程也进一步地提高了Excel的技术含量。 在学习Excel的同时,我们还需要结合实践来加深对知识点的理解,这样才能更好地将其运用到生产、工作以及个人日常中。因此,从入门到精通的教程不仅要提供知识点的详细介绍,更要注重实践应用。我们需要不断地尝试将学到的知识点应用到实际中,这样才能更好地提高自己的Excel应用能力。 总之,Excel 从入门到精通是一本非常适合Excel初学者的学习教材,通过系统的讲解,结合实例演示,能够让读者逐步掌握Excel的基础与进阶知识。如果你想要掌握更为深入的Excel技术,这本书也是你的绝佳选择。 ### 回答2: 《Excel从入门到精通PDF》是一本非常实用的电子书,它详细介绍了Excel表格处理软件的基本操作和高级功能。如果你是一个初学者,本书从Excel的基本界面和操作开始,逐步讲解了如何创建、编辑和格式化Excel表格,以及如何使用Excel的常见函数和图表功能。如果你已经有一定的基础,本书还提供了一些高级技巧和实战案例,帮助你更好地掌握Excel的应用。 在本书中,作者通过生动形象的图文并茂的方式,将Excel中经常使用的功能点全部涵盖了。本书内容全面、系统、易懂,可以帮助读者快速了解Excel的基本操作,从而在日常工作和学习中更加得心应手。值得一提的是,虽然该书名为“从入门到精通”,但也不会把读者从一开始就扔到深水区。而是通过引导和逐步深入,使读者能够循序渐进地学习并掌握更高级的技巧。总之,《Excel从入门到精通PDF》是一本非常实用的电子书,无论你是初学者还是已经有一定经验的人士,都能够从中获益匪浅。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值