如何在 BubbleChart 中显示 x 轴标签?

How to show x-axis labels in BubbleChart?

我正在使用 MPAndroidChart BubbleChart v3.0.2。在此版本中,我无法在 xAxis 上设置自定义标签。如何为每个栏设置 xAxis 标签。即(标签 1、标签 2 等)

如果有人在其中工作或知道如何做,请分享。

您可以通过扩展 IValueFormatter 来做到这一点。如果您想创建 EntryString 标签的简单映射,您可以这样做:

import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.utils.ViewPortHandler;

import java.util.Map;

public class MapValueFormatter implements IValueFormatter {

    private final Map<Entry, String> labels;

    public MapValueFormatter(Map<Entry, String> labels) {
        this.labels = labels;
    }

    @Override
    public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
        String label = labels.get(entry);
        if (label == null) {
            return "";
        }

        return label;
    }
}

然后你可以像这样创建标签:

Map<Entry,String> labels = new HashMap<>();
for (BubbleEntry bubbleEntry : dataSet.getValues()) {
    labels.put(bubbleEntry, generateRandomString());
}
dataSet.setValueFormatter(new MapValueFormatter(labels));

结果如下所示:

我相信你可以做得更好。祝你好运!