MPAndroidChart 教程:坐标轴 The Axis (AxisBase)

简介: 本节重点是AxisBase类,它是XAxis(X轴)和YAxis(Y轴)两者的基类,在v2.0.0中引入。以下提到的方法可以应用于两个轴。

本节重点是AxisBase类,它是XAxis(X轴)和YAxis(Y轴)两者的基类,在v2.0.0中引入。

以下提到的方法可以应用于两个轴。

轴类允许特定样式并包含(可以包含)以下组件/部件:

  • 标签(以垂直(y轴)或水平(x轴)对齐绘制),包含轴描述值
  • 所谓的“轴线”,直接绘制在标签旁边并与之平行
  • “网格线”,每个都来自水平方向的轴标签
  • LimitLines,允许提供特殊信息,如边界或约束

控制应绘制哪些部分(轴)

  • setEnabled(boolean enabled):将轴设置为启用或禁用。如果禁用,则无论其他任何设置如何,都不会绘制轴的任何部分。
  • setDrawLabels(boolean enabled):将此项设置为true以启用绘制轴的标签。
  • setDrawAxisLine(boolean enabled):如果应绘制沿轴(轴线)的线,则将此设置为true。
  • setDrawGridLines(boolean enabled):将其设置为true以启用绘制轴的网格线。

自定义轴范围(最小/最大)

  • setAxisMaximum(float max):为此轴设置自定义最大值。如果设置,则不会根据提供的数据自动计算该值。
  • resetAxisMaximum():调用此方法以撤消先前设置的最大值。通过这样做,您将再次允许轴自动计算它的最大值。
  • setAxisMinimum(float min):为此轴设置自定义最小值。如果设置,则不会根据提供的数据自动计算该值。
  • resetAxisMinimum():调用此方法以撤消先前设置的最小值。通过这样做,您将再次允许轴自动计算它的最小值。
  • setStartAtZero(boolean enabled):已弃用 - 使用setAxisMinValue(...)或setAxisMaxValue(...)替代。
  • setInverted(boolean enabled):如果设置为true,则此轴将被反转,这意味着最高值将位于底部,最低值将位于顶部。
  • setSpaceTop(float percent):设置图表中最高值的顶部间距(以总轴范围的百分比表示)与轴上的最高值进行比较。
  • setSpaceBottom(float percent):设置图表中最低值的底部间距(以总轴 - 范围的百分比表示)与轴上的最低值进行比较。
  • setShowOnlyMinMax(boolean enabled):如果启用,此轴将仅显示其最小值和最大值。这将忽略/覆盖定义的标签计数(如果不强制)。
  • setLabelCount(int count, boolean force):设置y轴的标签数。请注意,此数字不是固定的(如果force == false),并且只能近似。如果强制启用(true),则绘制精确指定的标签计数 - 这可能导致轴上的数字不均匀。
  • setPosition(YAxisLabelPosition pos):设置应绘制轴标签的位置。INSIDE_CHART或OUTSIDE_CHART。
  • 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”控制起始点。

格式化轴值

要格式化轴值,可以使用此处IAxisValueFormatter说明的界面。您可以使用该方法将自定义格式化程序设置为轴。axis.setValueFormatter(IAxisValueFormatter formatter)

限制线

两个轴都支持所谓的LimitLines允许提供特殊信息,如边界或约束。LimitLines添加到YAxis水平方向,并在垂直方向添加到XAxis。这是您LimitLines在轴上添加和删​​除的方式:

  • addLimitLine(LimitLine l):LimitLine向此轴添加新内容。
  • removeLimitLine(LimitLine l):LimitLine从此轴移除指定的。
  • 更多添加/删除方法也可用。
  • setDrawLimitLinesBehindData(boolean enabled):允许控制LimitLines和实际数据之间的z顺序。如果将其设置为true,LimitLines则会在实际数据后面绘制,否则将在顶部绘制。默认值:false

限制行(类LimitLine)是(如名称所示)简单行和简单行可用于为用户提供附加信息。

例如,您的图表可能会显示用户使用应用程序记录的各种血压测量结果。为了告知使用者超过140 mmHg的收缩压被认为是健康风险,您可以添加LimitLine140以提供该信息。

示例代码

YAxis leftAxis = chart.getAxisLeft();

LimitLine ll = new LimitLine(140f, "Critical Blood Pressure");
ll.setLineColor(Color.RED);
ll.setLineWidth(4f);
ll.setTextColor(Color.BLACK);
ll.setTextSize(12f);
// .. and more styling options

leftAxis.addLimitLine(ll);YAxis leftAxis = chart.getAxisLeft();

LimitLine ll = new LimitLine(140f, "Critical Blood Pressure");
ll.setLineColor(Color.RED);
ll.setLineWidth(4f);
ll.setTextColor(Color.BLACK);
ll.setTextSize(12f);
// .. and more styling options

leftAxis.addLimitLine(ll);

 

相关文章
|
25天前
|
机器学习/深度学习 索引 Python
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
本文解释了NumPy中`argmax`函数的`axis`参数在不同维度数组中的应用,并通过代码示例展示了如何使用`axis=0`、`axis=1`和`axis=-1`来找到数组中最大值的索引。
63 0
Numpy学习笔记(二):argmax参数中axis=0,axis=1,axis=-1详解附代码
|
2月前
echarts中使用散点scatter更改颜色却不生效的问题
本文讨论了在ECharts中使用散点图(scatter)时更改颜色不生效的问题。原因是项目中使用了`visualMap`组件,它具有最高的优先级,导致自定义的颜色设置被覆盖。解决方法是在`visualMap`组件中增加`seriesIndex`属性,指定它只对特定的系列(series)生效,从而避免影响散点图的颜色设置。文章提供了详细的代码示例和解决办法。
56 2
81Echarts - 散点图(Scatter Nutrients Matrix)
81Echarts - 散点图(Scatter Nutrients Matrix)
46 0
81Echarts - 散点图(Scatter Nutrients Matrix)
86Echarts - 散点图(Scatter on Single Axis)
86Echarts - 散点图(Scatter on Single Axis)
28 0
158Echarts - 平行坐标系(Scatter Matrix)
158Echarts - 平行坐标系(Scatter Matrix)
29 0
90Echarts - 散点图(Scatter Matrix)
90Echarts - 散点图(Scatter Matrix)
39 0
G2Plot 图例(legend)带瞄准图标解决
G2Plot 图例(legend)带瞄准图标解决
86 0
|
数据可视化 Go
ggplot2 |legend参数设置,图形精雕细琢
ggplot2 |legend参数设置,图形精雕细琢
212 0
|
关系型数据库 Python
Matplotlib从入门到精通:Axes与Axis(三)
Matplotlib从入门到精通:Axes与Axis
177 0
Matplotlib从入门到精通:Axes与Axis(三)
|
Python
Matplotlib从入门到精通:Axes与Axis(二)
Matplotlib从入门到精通:Axes与Axis
127 0
Matplotlib从入门到精通:Axes与Axis(二)