簡體   English   中英

如何使用MPAndroid圖表庫跳過折線圖中特定索引的值?

[英]How to skip values on particular indexes in Line Chart using MPAndroid Chart Library?

我正在使用MPAndroid圖表庫繪制折線圖,​​並且在LineChart上設置了動態數據,但有時我為某些索引獲取的數據值為0.0,而我不想在任何索引上顯示0.0的值。 如何跳過具有0.0值的索引。

ArrayList<Entry> entries = new ArrayList<>();
       entries.add(new Entry(23.00f, 0));
       entries.add(new Entry(40.00f, 1));
       entries.add(new Entry(00.00f, 2)); // want to skip this index 2(Mar)
       entries.add(new Entry(00.00f, 3)); // want to skip this index 3 (Apr)
       entries.add(new Entry(94.00f, 4));
       entries.add(new Entry(20.00f, 5));

現在我變得這樣 在此處輸入圖片說明

但我想得到這樣的東西

在此處輸入圖片說明

有任何想法嗎?

謝謝

如何添加多個數據集,對於圖形的每個連續部分,一個數據集呢?

您可以嘗試從LineChartRender重寫drawData方法,並執行以下操作:

int index = lineData.getDataSets().size();
for (ILineDataSet set : lineData.getDataSets()) {            
                if (set.getEntryForIndex(index).getY() != 0) {
                    if (set.isVisible()) {
                        drawDataSet(c, set);
                    }
                }

        c.drawBitmap(mDrawBitmap.get(), 0, 0, mRenderPaint);
    }
}

您的代碼應為:

ArrayList<Entry> entries = new ArrayList<>();
       entries.add(new Entry(23.00f, 0));
       entries.add(new Entry(40.00f, 1));
//       entries.add(new Entry(00.00f, 2)); // want to skip this index 2(Mar)
//       entries.add(new Entry(00.00f, 3)); // want to skip this index 3 (Apr)
       entries.add(new Entry(94.00f, 4));
       entries.add(new Entry(20.00f, 5));

lib會如截圖2所示自動繪制它。

經過大量的互聯網搜索,終於找到了解決方案。 我嘗試了許多解決方案,但就我而言,最適合的問題也是。

假設我們計划從xAxix隱藏無用的序列值,請獲取軸

xAxis.setLabelCount(originalValueArray.size, true)

其中originalValueArray是原始數據源的數組。

上述解決方案只會繪制所需的標簽,並且會刪除不必要的序列數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM