小编Bal*_*vam的帖子

MPAndroidChart - 如何在缩放时更改ValueFormatter?

我正在使用MPAndroidChart库.我正在使用CustomValueFormatter格式化Float值,使其精度为1.

CustomValueFormatter代码:

public class CustomYAxisValueFormatter implements YAxisValueFormatter {

    private DecimalFormat mFormat;

    public CustomYAxisValueFormatter() {
        mFormat = new DecimalFormat("###,###,###,##0.0"); // sets precision to 1
    }

    @Override
    public String getFormattedValue(float value, YAxis yAxis) {
        return mFormat.format(value);
    }
}
Run Code Online (Sandbox Code Playgroud)

我将格式化程序设置为y轴.

设置格式化程序:

    YAxis yAxis = lineChart.getAxisLeft(); //show left y-axis line        
    yAxis.setValueFormatter(new CustomYAxisValueFormatter()); // set value formatter to format y-values.
Run Code Online (Sandbox Code Playgroud)

因此,默认情况下会创建setValueFormatter(YAxisValueFormatter)上述格式化程序(CustomYAxisValueFormatter).

问题是在缩放时无法重新创建CustomYAxisValueFormatter,从而导致重复的y值.

是否可以创建一个基于缩放级别更改值精度的CustomValueFormatter?

android mpandroidchart

6
推荐指数
1
解决办法
2143
查看次数

setVisibleXRangeMaximum()和setVisibleYRangeMaximum()在MPAndroidChart中不起作用

我目前正在使用MPAndroidChart。我想限制要显示的行数和列数。

为了实现它,我使用了setVisibleXRangeMaximum()setVisibleYRangeMaximum()函数。但是上述两种方法均无效。

我已经将visibleXRangeMaximum和visibleYRangeMaximum值设置为3。但是图表显示了x轴和y轴上的所有值。

码:

    lineChart.setVisibleXRangeMaximum(3);
    lineChart.setVisibleYRangeMaximum(3, YAxis.AxisDependency.LEFT);


    barChart.setVisibleXRangeMaximum(3);
    barChart.setVisibleYRangeMaximum(3, YAxis.AxisDependency.LEFT);
Run Code Online (Sandbox Code Playgroud)

屏幕截图:

在下图中,显示了所有值,而预期输出应包含3行和3列。

显示所有值的图表

charts android mpandroidchart

1
推荐指数
1
解决办法
1417
查看次数

标签 统计

android ×2

mpandroidchart ×2

charts ×1