gpt4 book ai didi

java - 使用 MPAndroid 库在条形图中设置标签不起作用

转载 作者:行者123 更新时间:2023-11-29 07:27:43 27 4
gpt4 key购买 nike

enter image description here我正在使用 MPAndroid 库。实现 'com.github.PhilJay:MPAndroidChart:v3.0.3'我需要创建带有标签的条形图。我的代码如下,但它不起作用:这是要显示的条形数组。

public ArrayList<BarEntry> getBarEntryArrayList() {

ArrayList<BarEntry> barEntries = new ArrayList<BarEntry>();
barEntries.add(new BarEntry(2f, 0));
barEntries.add(new BarEntry(4f, 1));
barEntries.add(new BarEntry(6f, 2));
barEntries.add(new BarEntry(8f, 3));
barEntries.add(new BarEntry(7f, 4));
barEntries.add(new BarEntry(3f, 5));
return barEntries;

}

这是显示在底部的标签数组。

public ArrayList<String> getBarEntryLabels() {

ArrayList<String> BarEntryLabels = new ArrayList<String>();
BarEntryLabels.add("J");
BarEntryLabels.add("F");
BarEntryLabels.add("M");
BarEntryLabels.add("A");
BarEntryLabels.add("M");
BarEntryLabels.add("J");
BarEntryLabels.add("J");
BarEntryLabels.add("A");
BarEntryLabels.add("S");
BarEntryLabels.add("O");
BarEntryLabels.add("N");
BarEntryLabels.add("D");
return BarEntryLabels;

}

设置标签数组和条目数组的问题

private void setBarChartData() {
BarDataSet barDataSet = new BarDataSet(getBarEntryArrayList(), getBarEntryLabels() );
barDataSet.setColors(ColorTemplate.COLORFUL_COLORS);
BarData barData = new BarData(barDataSet);
barChart.setData(barData);
barChart.animateY(3000);

}

这条线不工作。

BarDataSet barDataSet = new BarDataSet(getBarEntryArrayList(), getBarEntryLabels() );

如果在没有标签的情况下编写代码,它就可以工作。

BarDataSet barDataSet = new BarDataSet(getBarEntryArrayList(), "Dummy text" );

我必须使用标签数组。提前致谢。

我需要像这样创建图表。请帮助我。

最佳答案

创建栏条目时,将标签添加为第三个参数:

    barEntries.add(new BarEntry(2f, 0, "J"));
barEntries.add(new BarEntry(4f, 1, "F"));
barEntries.add(new BarEntry(6f, 2, "M"));
barEntries.add(new BarEntry(8f, 3, "A"));
barEntries.add(new BarEntry(7f, 4, "M"));
barEntries.add(new BarEntry(3f, 5, "P"));

barChart.setData(barData); 之后,您可以使用 setValueFormatter 设置 Labels above or below bars:

    barChart.getBarData().setValueFormatter(new IValueFormatter() {
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
return entry.getData().toString();
}
});

同时增加字体大小:

barChart.getData().setValueTextSize(15);

附言您不需要 getBarEntryLabels 方法。

结果如下:

enter image description here

关于java - 使用 MPAndroid 库在条形图中设置标签不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48398385/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com