android - 在 MPAndroidChart 库的 BarChart View 上设置新数据时的左填充

标签 android charts view padding mpandroidchart

我正在为我的项目使用 MPAndroidChart,但我遇到了问题。

enter image description here

enter image description here

enter image description here

看起来,每次,当我在条形图 View 上设置新数据时,即使我使用 clear() 方法,出于某些原因,也会创建左填充。请问,我该如何解决?

最佳答案

我们也有同样的问题。显然,方法 clear() 不会将值数组 YAxis 归零。此外,方法 computeAxisValues(float min, float max) 不会检查 YAxis 的旧值数组的长度何时大于新值的计数。

在您的例子中,当您从 Chart3 切换到 Chart1 时,首先:

yAxis.mEntries = [0, 2000, 4000, 6000, 8000, 10000, 12000, 14000, 16000, 18000]

第二种情况:

 yAxis.mEntries = [0, 30, 60, 90, 120, 150, 180, 210, 240, 18000]

这就是为什么 BarChart View 需要从左边填充,以获得比实际需要更大的值。

您可以使用该 hack 来检查您的案例:

YAxis yAxis = barChart.getAxisLeft();
if (yAxis.mEntries.length > yAxis.mEntryCount){
        float[] arr = yAxis.mEntries;
        yAxis.mEntries = new float[yAxis.mEntryCount];
        System.arraycopy(arr, 0, yAxis.mEntries, 0, yAxis.mEntryCount);
    }

关于android - 在 MPAndroidChart 库的 BarChart View 上设置新数据时的左填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43192135/

相关文章:

android - 如何在android studio中调试产品 flavor ?

android - 我可以以编程方式更改强调色 (AppCompat) 吗?

charts - 生成图表: No features contain non-null values of “system:time_start” . Google earth engine时出错

ios - 如何在 MPAndroidChart 中缩小时隐藏值标签?

javascript - AngularJS View 未填充

android - 使用 HttpGet 返回完整的 HTML 代码

android - 在 Android 中处理大型数据库

javascript - 用于切换 <div> 中多个图表显示的选择列表

android - 如何检查 View 是否包含另一个 View ?

Android Lollipop 定时器(持续时间)输入