2 Questions about the MPAndroidChart library. All my yvalues are integers, but displayed as Decimals. How can I get them displayed as integers (without the digits)? How can I prevent that the ylabels are also shows as decimals? I know there is a setFormatter for the yvalues, just don't understand how to use...
问题:
回答1:
Have a look at the IValueFormatter
interface provided by the library. With that interface, you can completely customize what gets displayed on the chart based on your own logic.
Usage:
chart.setValueFormatter(new YourValueFormatter());
YLabels yl = chart.getYLabels();
yl.setFormatter(new YourValueFormatter());
UPDATE (for versions 2.0.0+ of this library):
Now, a ValueFormatter
can be set for each DataSet
separately, or the same ValueFormatter
can be set for the whole data object containig all DataSets
. Furthermore, the YLabels
class is now called YAxis
.
Example:
// set for whole data object (individual DataSets also possible)
LineData data = new LineData(...);
data.setValueFormatter(new YourValueFormatter());
// YLabels are now called YAxis
YAxis yAxis = mChart.getAxisLeft(); // get the left or right axis
yAxis.setValueFormatter(new YourAxisValueFormatter());
UPDATE (for versions 3.0.0+ of this library):
The interfaces for formatting have been renamed and extended in their functionality. Now, the IAxisValueFormatter
can be used to format values of both XAxis
and YAxis
. The IValueFormatter
interface is used to customize chart values.
Link to the IValueFormatter documentation.
Link to the IAxisValueFormatter documentation.