3. The Axis(AxisBase)

优质
小牛编辑
123浏览
2023-12-01

The Axis(AxisBase)

此页关注AxisBase类,他是XAxis和YAxis的基类。

下面提及的方法在两个轴上都能使用。

这个轴类允许对下面的组件或部分指定具体的样式:

  • 标签(绘制时垂直对齐),包括轴的描述值。
  • 坐标轴,它直接被绘制平行于标签旁边。
  • 网格线,每个来自水平方向的标签轴。
  • LimitLines,允许呈现具体的信息,像边框或者限制。

控制轴的哪部分应该被绘制

  • setEnabled(boolean enabled):设置轴的打开或者关闭。如果关闭,坐标轴不会被绘制。
  • setDrawAxisLine(boolean enabled): 设置为true,如果线在轴的侧面应该被画,否则不。
  • setDrawGridLines(boolean enabled): 设置为true打开绘制网格线对于轴来说。
  • setDrawLabels(boolean enabled):设置为true打开绘制轴的标签。

修改轴线样式

  • 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”控制开始的点。

限制线

两个轴支持LimitLines的调用允许呈现专用信息,像边界或者约束。LimitLines添加到YAxis会在水平方向绘制,垂直方向绘制需要添加到XAxis。下面是你如何增加和移除LimitLines从YAxis:

  • addLimitLine(LimitLine l): 添加一个新的LimitLine到轴上。
  • removeLimitLine(LimitLine l): 从轴上移除一个指定的LimitLine。
    多个方法也适用于添加或者移除。
  • setDrawLimitLinesBehindData(boolean enabled): 允许控制Z轴顺序在LimitLines和真实数据之间。如果设置true,LimitLines绘制在真实数据后面,否则在上面,默认:false

限制线(类 LimitLine)(也称为指示线)是明确和简单的线能给使用者提供额外的信息。

这是一个例子,你的图表可以展示已经用应用登录的用户的多种形式的血压测量结果。为了通知用户心动血压超过140mmhg被考虑会有健康风险,你可以增加一个LimitLine在140处来提供那条信息。

例子:
YAxis leftAxis = chart.getAxisLeft();

  1. LimitLine ll = new LimitLine(140f, "Critical Blood Pressure");
  2. ll.setLineColor(Color.RED);
  3. ll.setLineWidth(4f);
  4. ll.setTextColor(Color.BLACK);
  5. ll.setTextSize(12f);
  6. // .. and more styling options
  7. leftAxis.addLimitLine(ll);