【问题标题】:Left padding when set new data on BarChart View from MPAndroidChart library从 MPAndroidChart 库在 BarChart 视图上设置新数据时的左填充
【发布时间】:2017-08-28 18:18:16
【问题描述】:

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

看起来,每次我在 BarChart View 上设置新数据时,即使我使用 clear() 方法,由于某些原因,创建了左填充。 lz,怎么解决?

【问题讨论】:

    标签: android charts view padding mpandroidchart


    【解决方案1】:

    我们也有同样的问题。显然,方法 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 视图需要从左侧填充,以获得比实际需要更大的值。

    您可以使用该 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);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多