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

來源:互聯網
上載者:User

標籤:

在 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<String> 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.** { *; }
如果不添加,會導致動畫出問題。

混淆的詳細說明 更多資訊


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



歡迎掃描二維碼,關注公眾帳號


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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.