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