如何在 MPAndroidChart 中使用 setLabelCount(...)?
How to use setLabelCount(...) in MPAndroidChart?
我正在使用 MPAndroidChart library。
我使用了 barChart.getAxisLeft().setLabelCount(5);
,它 returns 标记为 0.00, 20.00, 40.00, 60.00
,但我想要 0.00, 25.00, 50.00, 75.00, 100.00
。
我也想显示100。有没有可能?
更新
我添加了以下几行,
barChart.getAxisLeft().setAxisMaxValue(100);
barChart.getAxisLeft().setAxisMinValue(0);
barChart.getAxisLeft().setLabelCount(5);
现在输出是
0.0, 20.0, 40.0, 60.0, 80.0, 100.0
所以我改成如下,
barChart.getAxisLeft().setAxisMaxValue(100);
barChart.getAxisLeft().setAxisMinValue(0);
barChart.getAxisLeft().setLabelCount(4);
现在输出是
0.0, 30.0, 60.0, 90.0
但我需要以下输出。
0.0, 25.0, 50.0, 75.0, 100.0
也许您可以通过 ValueFormatter
设置自定义 y 轴值。
如:
public class CustomValueFormatter implements ValueFormatter {
public CustomValueFormatter() {
}
@Override
public String getFormattedValue(float value) {
return (value/20)*25 + " "; // transfer the number to meet your want.
}
}
看看YAxis documentation。您会注意到一个名为 setAxisMaxValue(...)
.
的方法
- 将最大值设置为 100
- 将最小值设置为 0
- 将标签计数设置为 5
你会得到你想要的。
有关更多自定义格式,请查看 ValueFormatter。
最新版本的方法为public void setLabelCount(int count, boolean force)
例如:
barChart.getAxisLeft().setLabelCount(5,true);
这将给出准确的输出。
感谢@Philipp Jahoda 的修复
我正在使用 MPAndroidChart library。
我使用了 barChart.getAxisLeft().setLabelCount(5);
,它 returns 标记为 0.00, 20.00, 40.00, 60.00
,但我想要 0.00, 25.00, 50.00, 75.00, 100.00
。
我也想显示100。有没有可能?
更新
我添加了以下几行,
barChart.getAxisLeft().setAxisMaxValue(100);
barChart.getAxisLeft().setAxisMinValue(0);
barChart.getAxisLeft().setLabelCount(5);
现在输出是
0.0, 20.0, 40.0, 60.0, 80.0, 100.0
所以我改成如下,
barChart.getAxisLeft().setAxisMaxValue(100);
barChart.getAxisLeft().setAxisMinValue(0);
barChart.getAxisLeft().setLabelCount(4);
现在输出是
0.0, 30.0, 60.0, 90.0
但我需要以下输出。
0.0, 25.0, 50.0, 75.0, 100.0
也许您可以通过 ValueFormatter
设置自定义 y 轴值。
如:
public class CustomValueFormatter implements ValueFormatter {
public CustomValueFormatter() {
}
@Override
public String getFormattedValue(float value) {
return (value/20)*25 + " "; // transfer the number to meet your want.
}
}
看看YAxis documentation。您会注意到一个名为 setAxisMaxValue(...)
.
- 将最大值设置为 100
- 将最小值设置为 0
- 将标签计数设置为 5
你会得到你想要的。
有关更多自定义格式,请查看 ValueFormatter。
最新版本的方法为public void setLabelCount(int count, boolean force)
例如:
barChart.getAxisLeft().setLabelCount(5,true);
这将给出准确的输出。
感谢@Philipp Jahoda 的修复