本文共 1672 字,大约阅读时间需要 5 分钟。
YAxis是的子类。YAxis类(在早于2.0.0 版本中叫做YLabels)是数据和一切与垂直轴相关的信息容器。每个Line-,Bar-,Scatter或CandleStickChart都有一个左右YAxis对象,分别负责左轴或右轴。RadarChart只有一个YAxis。默认情况下,图表的两个轴都已启用并将被绘制。
为了获得一个实例中的YAxis类,请调用以下方法之一:
YAxis leftAxis = chart.getAxisLeft();YAxis rightAxis = chart.getAxisRight();YAxis leftAxis = chart.getAxis(AxisDependency.LEFT);YAxis yAxis = radarChart.getYAxis(); // this method radarchart only
在运行时,用public AxisDependency getAxisDependency()确定此轴表示的图表的一侧。
在为图表设置数据之前,需要应用影响轴值范围的自定义。
默认情况下,添加到图表的所有数据都会绘制在图表左侧YAxis。如果未进一步指定和启用,YAxis则调整右侧以表示与左轴相同的比例。
如果您的图表需要支持不同的轴刻度,您可以通过设置应绘制数据的轴来实现。这可以通过更改DataSet对象的AxisDependency来完成:
LineDataSet dataSet = ...; // get a datasetdataSet.setAxisDependency(AxisDependency.RIGHT);
设置此项将更改绘制数据的轴。
除了网格线,它与YAxis上的每个值水平对齐,还有一个所谓的零点,它在轴上的零(0)值处绘制,类似于网格线,但可以单独配置。
零线示例代码:
// data has AxisDependency.LEFTYAxis left = mChart.getAxisLeft();left.setDrawLabels(false); // no axis labelsleft.setDrawAxisLine(false); // no axis lineleft.setDrawGridLines(false); // no grid linesleft.setDrawZeroLine(true); // draw a zero linemChart.getAxisRight().setEnabled(false); // no right axis
上面的代码将产生如下图所示的零线。不绘制轴值,不绘制网格线或轴线,只绘制零线。
YAxis yAxis = mChart.getAxisLeft();yAxis.setTypeface(...); // set a different fontyAxis.setTextSize(12f); // set the text sizeyAxis.setAxisMinimum(0f); // start at zeroyAxis.setAxisMaximum(100f); // the axis maximum is 100yAxis.setTextColor(Color.BLACK);yAxis.setValueFormatter(new MyValueFormatter());yAxis.setGranularity(1f); // interval 1yAxis.setLabelCount(6, true); // force 6 labels//... and more
转载地址:http://kexsa.baihongyu.com/