3
剛剛開始使用MPAndroidChart 3.0.0版測試版,我創建了一個可以在條形圖中顯示我的值的項目。我的問題是我在哪裏添加和顯示標籤。 每個酒吧應該有自己的標籤,例如。 「煙道」,「奶酪」等。不知道這是什麼功能,目前正在積極搜索和閱讀Docs/Wiki,但沒有喜悅。MPAndroidChart添加並顯示條形圖標籤
剛剛開始使用MPAndroidChart 3.0.0版測試版,我創建了一個可以在條形圖中顯示我的值的項目。我的問題是我在哪裏添加和顯示標籤。 每個酒吧應該有自己的標籤,例如。 「煙道」,「奶酪」等。不知道這是什麼功能,目前正在積極搜索和閱讀Docs/Wiki,但沒有喜悅。MPAndroidChart添加並顯示條形圖標籤
根據自己的喜好,你可以使用一個Entry
的data
屬性存儲標籤,然後在IAxisValueFormatter
實現寄回:
public class LabelValueFormatter implements IAxisValueFormatter {
private final DataSet mData;
public LabelValueFormatter(DataSet data) {
mData = data;
}
@Override
public String getFormattedValue(float value, AxisBase axis) {
// return the entry's data which represents the label
return (String) mData.getEntryForXPos(value, DataSet.Rounding.CLOSEST).getData();
}
}
這種方法可以讓你使用Entry
構造函數(或BarEntry
在這種情況下),添加標籤,它可以提高代碼的可讀性:
ArrayList<BarEntry> entries = new ArrayList<>();
for (int i = 0; i < length; i++) {
// retrieve x-value, y-value and label
entries.add(new BarEntry(x, y, label));
}
BarDataSet dataSet = new BarDataSet(entries, "description");
BarData data = new BarData(dataSet);
mBarChart.setData(data);
mBarChart.getXAxis().setValueFormatter(new LabelValueFormatter(data));
也爲更多的檢查this answer信息和使用標籤的BarChart
和新的3.0.0
版本庫的替代方法。
我不能得到IAxisVlueFormatter,這是在版本3的lib ?.我有在Gradle中指定的v3 beta。只有AxisValueFormatter可以識別。 – brucen
是的,這是正確的課程。隨着庫的下一個版本,它將被重命名。 – TR4Android
謝謝,它現在完美。只需要施加(BarData)數據,因爲我將BarData作爲我的變量添加到Bar Chart適配器並使用getDataSetByIndex(position)。 – brucen