前面这些都是X轴和Y轴都具备的属性,后面有一点点是X轴或者Y轴的特性。
开启 / 关闭 对于轴上某部分的控制
| setEnabled(boolean enabled) | 开启或关闭轴。如果禁用,则不管其他设置如何,都不会绘制轴(X、Y轴)。 |
| — | — |
| setDrawLabels(boolean enabled) | 是否绘制坐标值。 |
| setDrawAxisLine(boolean enabled) | 是否绘制坐标线。 |
| setDrawGridLines(boolean enabled) | 是否绘制轴的网格线。 |
自定义轴范围(最小/最大)
| setAxisMaximum(float max) | 设置此轴的自定义最大值。 |
| — | — |
| resetAxisMaximum() | 撤消(删除)设置的最大值。 |
| setAxisMinimum(float min) | 设置此轴的自定义最小值。 |
| resetAxisMinimum() | 撤消(删除)设置的最小值 |
| setInverted(boolean enabled) | 是否将轴反转(最高的值将在底部,最低的值在顶部) |
| setSpaceTop(float percent) | 设置图表中最高值的顶部间距(占总轴范围的百分比),与轴上的最高值相比。 |
| setSpaceBottom(float percent) | 将图表中最低值的底部间距(以总轴范围的百分比)与轴上的最低值相比较。 |
| setShowOnlyMinMax(boolean enabled) | 如果启用,此轴将只显示它的最小值和最大值。这将覆盖定义的标签计数(如果不是强制的话)。 |
| setLabelCount(int count, boolean force) | 设置y轴的标签数。请注意,这个数字不是固定的(如果force==false),并且只能近似。如果启用了强制(True),则会绘制精确的标签计数–这会导致轴上的不均匀数字。 |
| setPosition(YAxisLabelPosition pos) | 设置绘制轴标签的位置。内部图表或外部图表。 |
| setGranularity(float gran) | 设置y轴值之间的最小间隔。这可用于避免在缩放到为轴设置的小数数不再允许区分两个轴值时重复值。 |
| setGranularityEnabled(boolean enabled) | 启用粒度特性,在缩放时限制y轴的间隔。默认值:false |
自定义轴的样式
| setTextColor(int color) | 设置轴标签的颜色。 |
| — | — |
| setTextSize(float size) | 在dp中设置轴标签的文本大小。 |
| setTypeface(Typeface tf) | 建立一个习惯Typeface轴心标签。 |
| setGridColor(int color) | 设置此轴的网格线的颜色。 |
| setGridLineWidth(float width) | 设置此轴的网格线的宽度。 |
| setAxisLineColor(int color) | 设置此轴的轴线的颜色。 |
| setAxisLineWidth(float width) | 设置此轴的轴线的宽度。 |
| enableGridDashedLine(float lineLength, float spaceLength, float phase) | 允许以虚线方式绘制网格线,例如:“-”。“lineLength”控制行段的长度,“spaceLength”控制行之间的空间,“phase”控制起始点。 |
格式化坐标轴
可以使用ValueFormatter类来格式化轴值。
极限线
边界线和约束线都是极限线,用来显示特殊信息,如边界或约束。极限线在Y轴对象时以水平方向绘制,在X轴对象时以垂直方向绘制。
| addLimitLine(LimitLine l) | 增加一个新的LimitLine到这个轴。 |
| — | — |
| removeLimitLine(LimitLine l) | 移除指定的LimitLine从这个轴。 |
| setDrawLimitLinesBehindData(boolean enabled) | 是否允许控制极限线和实际数据的顺序。如果此值设置为true,则极限线绘制在实际数据后面,否则绘制在前面。默认值:false |
下面是一个实例:
图表可能会显示用户在应用程序中记录的各种血压测量结果。为了告知使用者收缩压超过140 mmHg被认为是健康风险,您可以添加LimitLine以提供这方面的资料。
YAxis leftAxis = chart.getAxisLeft();
LimitLine ll = new LimitLine(140f, "高血压界定线");
ll.setLineColor(Color.RED);
ll.setLineWidth(4f);
ll.setTextColor(Color.BLACK);
ll.setTextSize(12f);
// .. 更多的样式设置
leftAxis.addLimitLine(ll);
X轴的特性
//实例化X轴对象进行使用
XAxis xAxis = chart.getXAxis();
//设置X轴位置 有以下几种 TOP BOTTOM BOTH_SIDED TOP_INSIDE BOTTOM_INSIDE
xAxis.setPosition(XAxisPosition.BOTTOM);
//设置X轴标签数据绘制的角度 也就是X轴上数据标签的旋转角度
xAxis.setLabelRotationAngle(90)
xAxis.setTextSize(10f);
xAxis.setTextColor(Color.RED);
xAxis.setDrawAxisLine(true);
xAxis.setDrawGridLines(false);
// 自定义X轴上的数据格式
xAxis.setValueFormatter(new MyCustomFormatter());
Y轴的特性
YAxis leftAxis = chart.getAxisLeft();
YAxis rightAxis = chart.getAxisRight();
YAxis leftAxis = chart.getAxis(AxisDependency.LEFT);
YAxis rightAxis = chart.getAxis(AxisDependency.RIGHT);
// 雷达图获取YAxis方法 由于雷达图只有一个Y轴(其他图有两个),所以有独特的方法
YAxis yAxis = radarChart.getYAxis();
Y轴的统一性
在没有定义一边的情况下,图表上的两条Y轴数据以及样式比例都是一样的,如果想把两边的Y轴设置成不一样的比例,可以通过设置数据对应的轴来实现这一点,通过更改DataSet的AxisDependency来实现
LineDataSet dataSet = ...;
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
**因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/e426cc48abca9abb405b2e0986932297.png)
![img](https://img-blog.csdnimg.cn/img_convert/7b46d5ea8ae5d3e014e74c4af8eb8d42.png)
![img](https://img-blog.csdnimg.cn/img_convert/098bffa4488eda5e1546da657da7e381.png)
![img](https://img-blog.csdnimg.cn/img_convert/e85199e4e1ceeced70b29542ba6a0ef2.png)
![img](https://img-blog.csdnimg.cn/img_convert/5cbc5d530fc219c45f28bc87c130a634.png)
![img](https://img-blog.csdnimg.cn/img_convert/cdea459b7ae06006813e7fc271d15eeb.png)
![img](https://img-blog.csdnimg.cn/13f2cb2e05a14868a3f0fd6ac81d625c.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!**
**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
**如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)**
![img](https://img-blog.csdnimg.cn/img_convert/3b8567ecee58f9d923d01060538592a5.png)
### 最后
下面是辛苦给大家整理的学习路线
![](https://img-blog.csdnimg.cn/img_convert/0a3efb2e595a430f0fbff6971a9e0db9.webp?x-oss-process=image/format,png)
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/5b874f5d33412b60a74e488c3eb120e9.png)
5N0-1712860895323)]
### 最后
下面是辛苦给大家整理的学习路线
[外链图片转存中...(img-TsiZN9ef-1712860895323)]
**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-1G7FiLAU-1712860895323)]