6.Y轴(YAxis)

这YAxis是AxisBase的一个子类。这章只描述了YAxis,而不是它的超类AxisBase。

该YAxis类(比2.0.0更老版本的称呼为YLabels),是数据和一切与垂直轴相关的信息容器。每个Line-,Bar-,Scatter或CandleStickChart都有一个左YAxis对象和右YAxis对象,分别负责左轴或右轴。雷达图只有一个YAxis。默认情况下,图表的两个轴都被启用,并将被绘制。

为了获得一个实例中的YAxis类,请选择以下方法之一:

YAxis leftAxis = chart.getAxisLeft();
YAxis rightAxis = chart.getAxisRight();

YAxis leftAxis = chart.getAxis(AxisDependency.LEFT);

YAxis yAxis = radarChart.getYAxis(); //这个方法只有radarchart

在运行时,public AxisDependency getAxisDependency()用来确定该轴代表的图表的边。

在设置图表的数据之前,需要应用影响轴值范围的自定义。

轴依赖性

默认情况下,添加到图表的所有数据都会在图表左侧YAxis绘制。如果没有进一步指定和启用,则右侧的值YAxis被调整为与左轴相同的刻度。

如果您的图表需要支持不同的轴刻度,则可以通过设置数据应该绘制的轴来实现。这可以通过改变AxisDependency来完成您的DataSet目标:

LineDataSet dataSet =  ... ; //获取一个数据集 
dataSet.setAxisDependency(AxisDependency.RIGHT);

设置此项将更改您的数据绘制轴。

零线

除了在每个值旁边起源的网格线之外,还有一个YAxis所谓的零滚动,它在轴上的零(0)值处绘制,并且与网格线类似,但可以单独配置。

setDrawZeroLine(boolean enabled):启用/禁用绘制零线。
setZeroLineWidth(float width):设置零行的行宽。
setZeroLineColor(int color):设置零线应具有的颜色。

零线示例代码:

//数据具有AxisDependency.LEFT 
YAxis left = mChart.getAxisLeft();
left.setDrawLabels(false); //无轴标签 
left.setDrawAxisLine(false); //没有轴线 
left.setDrawGridLines(false); //无网格线 
left.setDrawZeroLine(true); //绘制零行 
mChart.getAxisRight().setEnabled(false); //没有右轴

上述代码将导致zero-line如下图所示。不绘制轴值,不绘制网格线或轴线,仅只有zero-line。

更多示例代码

YAxis yAxis = mChart.getAxisLeft();
yAxis.setTypeface(...); //设置不同的字体 
yAxis.setTextSize(12f); //设置文字大小 
yAxis.setAxisMinimum(0f); //从零开始 
yAxis.setAxisMaximum(100f); //轴最大值为100 
yAxis.setTextColor(颜色。 BLACK);
yAxis.setValueFormatter(new  MyValueFormatter());
yAxis.setGranularity(1f); //间隔1 
yAxis.setLabelCount(6,true); //强制6个标签
// ...等等
坚持原创技术分享,您的支持将鼓励我继续创作!
0%