MPAndroidChart

MPAndroidChart中文翻译(六Y轴)

2016-10-12  本文已影响406人  鹿小纯0831

XAxis也是AxisBase的子类。
YAxis类(在早于2.0.0的版本叫做 YLabels),是与垂直轴相关的所有数据和信息容器。 每个Line,Bar,Scatter或CandleStickChart有一个左和右YAxis对象,分别负责左轴或右轴。 RadarChart只有一个YAxis。 默认情况下,图表的两个轴都已启用并将被绘制。
获取Axes类的实例:

YAxis leftAxis = chart.getAxisLeft();
YAxis rightAxis = chart.getAxisRight();
YAxis leftAxis = chart.getAxis(AxisDependency.LEFT);
YAxis yAxis = radarChart.getYAxis(); // this method radarchart only

在运行时,使用public Axis Dependency getAxis Dependency()来确定该轴所代表的图表边。
影响轴的值范围的自定义需要在设置图表数据之前应用。

轴依赖

默认情况下,添加到图表的所有数据都会对照图表的左侧YAxis。 如果没有进一步指定和启用,则右侧YAxis将调整为表示与左侧轴相同的比例。默认情况下,添加到图表的所有数据都将相对图表的左侧YAxis进行绘图。 如果未进一步指定和启用,则右侧YAxis将调整为表示与左侧轴相同的比例。
如果你的图表需要支持不同的轴刻度,你可以通过设置数据应绘制的轴来实现。 这可以通过更改DataSet对象的Axis Dependency来实现:

LineDataSet dataSet = ...; // get a dataset
dataSet.setAxisDependency(AxisDependency.RIGHT);
零刻度线

除了水平地沿着YAxis上的每个值发射的网格线之外,还存在所谓的zeroline,其在轴上以零(0)值绘制,并且类似于网格线,但是可以单独配置 。

// data has AxisDependency.LEFT
YAxis left = mChart.getAxisLeft();
left.setDrawLabels(false); // no axis labels
left.setDrawAxisLine(false); // no axis line
left.setDrawGridLines(false); // no grid lines
left.setDrawZeroLine(true); // draw a zero line
mChart.getAxisRight().setEnabled(false); // no right axis

上面的代码将产生一个零线,如下图所示。 没有绘制轴值,不绘制网格线或轴线,只绘制零线。


更多示例代码
YAxis yAxis = mChart.getAxisLeft();
yAxis.setTypeface(...); // set a different font
yAxis.setTextSize(12f); // set the text size
yAxis.setAxisMinimum(0f); // start at zero
yAxis.setAxisMaximum(100f); // the axis maximum is 100
yAxis.setTextColor(Color.BLACK);
yAxis.setValueFormatter(new MyValueFormatter());
yAxis.setGranularity(1f); // interval 1
yAxis.setLabelCount(6, true); // force 6 labels
//... and more
上一篇下一篇

猜你喜欢

热点阅读