Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android開源圖表庫MPAndroidChart文檔翻譯(下)

android開源圖表庫MPAndroidChart文檔翻譯(下)

編輯:關於Android編程

在 android開源圖表庫MPAndroidChart文檔翻譯(中) 介紹了設置數據,設置顏色,軸的格式化,圖例,動態修改數據。這篇文章繼續翻譯MPAndroidChart文檔剩余內容。

十七、ChartData 類

這個WIKI條目的意圖是更好的介紹MPAndroidChart的數據模型。
ChartData類是所有圖表數據類的基類,例如LineData,BarData等等,通過圖表的setData方法提供表格數據。

 

public class LineData extends ChartData { ...
以下提到的方法是在ChartData類中實現,因此可以被用於所有的子類。

 

數據樣式

setValueTextColor(int color): 設置數據文本顏色
setValueTextColors(List colors): 設置數據文本顏色list
setValueTextSize(float size): 設置數據文本字體大小
setValueTypeface(Typeface tf): 設置數據字體
setValueFormatter(ValueFormatter f): 格式化數據
setDrawValues(boolean enabled): 啟用數據的繪制

獲取屬性相關方法

getDataSetByIndex(int index): 獲取固定索引的DataSet
contains(Entry entry): 判斷是否包含某一條目。執行效率很低。
contains(T dataSet): 判斷是否包含dataset

清除數據

clearValues(): 移除DataSet對象所有的值,不會影響x軸的值

高亮數據

setHighlightEnabled(boolean enabled): 是否允許高亮顯示
setDrawVerticalHighlightIndicator(boolean enabled): 是否啟用垂直方向上的高亮
setDrawHorizontalHighlightIndicator(boolean enabled): 是否啟用水平方向上的高亮

 

 

十八、ChartData的子類

BarData 類(條形圖數據)

setGroupSpace(float percent): 不同數據集的條目之間占一個條目寬度的百分比, 默認值80
isGrouped(): 數據對象是否已經分組

ScatterData 類(散點圖數據)

getGreatestShapeSize(): 返回所有ScatterDataSet中最大的圖形尺寸

PieData 類(餅圖數據)

getDataSet():返回data對象的PieDataSet對象PieData 對象不能包含多個PieDataSets.
setDataSet(PieDataSet set): 設置 PieDataSet

BubbleData (氣泡圖數據)

setHighlightCircleWidth(float width): 設置氣泡寬度,單位dp

CombinedData類(復合數據)

 

可以設置不同類型的數據,只用於CombinedChart

 

public class CombinedData extends ChartData {

    // ...

    public CombinedData(List xVals) { ... }

    public CombinedData(String[] xVals) { ... }

    public void setData(LineData data) { ... }

    public void setData(BarData data) { ... }

    public void setData(ScatterData data) { ... }

    public void setData(CandleData data) { ... }

    // ...
}

 

十九、DataSet類

DataSet類是所有數據集的基類,例如LineDataSet,BarDataSet等
DataSet類代表一個屬於一個表項輸入類型的群體。
方法跟CharData類似,只不過他是個集合。DataSet類還有對應子類不做詳細翻譯。原文詳細信息

 

二十、DataSet子類

二十一、ViewPortHandler類

ViewPortHandler類負責處理圖表視圖。可以控制圖表視圖是否可見,視圖的當前狀態,平移和縮放/縮放級別,繪圖區域和偏移。ViewPortHandler允許直接訪問所有的上述性質和並直接修改。
不同於通過圖表類修改視圖,使用ViewPortHandler要小心,不正確使用會導致意外的行為。ViewPortHandler提供視圖修改的更高級的方法。

獲取實例

 

ViewPortHandler handler = chart.getViewPortHandler();
詳細使用見API文檔
對這個類研究的比較深入才可以直接使用,否則很容易出問題。

 

 

二十二、自定義填充位置

FillFormatter接口允許自定義LineDataSet的填充線結束位置。只需要創建一個新的類,並實現FillFormatter接口。
使用方法

 

 

public class MyCustomFillFormatter implements FillFormatter {

    @Override
    public float getFillLinePosition(LineDataSet dataSet, LineDataProvider dataProvider) {

        float myDesiredFillPosition = ...;
        // put your logic here...

        return myDesiredFillPosition;
    }
}
然後設置到LineDataSet對象上
lineDataSet.setFillFormatter(new MyCustomFillFormatter());
默認實現為DefaultFillFormatter

 

二十三、混淆

 

需要在混淆文件中添加

 

-keep class com.github.mikephil.charting.** { *; }
如果不添加,會導致動畫出問題。

 

混淆的詳細說明 更多信息

 

 

先簡單翻譯一下文檔,了解使用。源碼比較多,後期看源碼再從代碼層面分析。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved