gpt4 book ai didi

android - MP android 图表在水平条形图的 X 轴上显示浮点值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:33:23 25 4
gpt4 key购买 nike

我正在使用 MP 图表显示评论,一切正常,除了 X 轴值显示为 float 值(针对特定类型评论的数量)。

这是我使用的代码:

     BarData data = new BarData(getXAxisValues(), getDataSet(properties));
chart.setData(data);
chart.getXAxis().setEnabled(false); // hides horizontal grid lines inside chart
YAxis leftAxis = chart.getAxisLeft();
chart.getAxisRight().setEnabled(false); // hides horizontal grid lines with below line
leftAxis.setEnabled(false); // hides vertical grid lines inside chart
/*chart.animateXY(2000, 2000);*/ // for animating reviews display
chart.invalidate();
chart.setClickable(false);
chart.setDescription(""); // Hide the description
chart.getLegend().setEnabled(false);
chart.setDoubleTapToZoomEnabled(false);
chart.setPinchZoom(false);

leftAxis.setDrawLabels(true);
private ArrayList<BarDataSet> getDataSet(Properties properties) {
ArrayList<BarDataSet> dataSets = null;

ArrayList<BarEntry> valueSet1 = new ArrayList<>();

BarEntry v1e1 = new BarEntry(properties.getRating10().intValue(), 0);
valueSet1.add(v1e1);
BarEntry v1e2 = new BarEntry(properties.getRating20().intValue(), 1);
valueSet1.add(v1e2);
BarEntry v1e3 = new BarEntry(properties.getRating30().intValue(), 2);
valueSet1.add(v1e3);
BarEntry v1e4 = new BarEntry(properties.getRating40().intValue(), 3);
valueSet1.add(v1e4);
BarEntry v1e5 = new BarEntry(properties.getRating50().intValue(), 4);
valueSet1.add(v1e5);

BarDataSet barDataSet1 = new BarDataSet(valueSet1, "Asset");
barDataSet1.setColors(ColorTemplate.COLORFUL_COLORS);

dataSets = new ArrayList<>();
dataSets.add(barDataSet1);
return dataSets;
}

private ArrayList<String> getXAxisValues() {
ArrayList<String> xAxis = new ArrayList<>();
xAxis.add("12.0");
xAxis.add("4.0");
xAxis.add("4");
xAxis.add("4");
xAxis.add("4");
return xAxis;
}

这里我设置数据为水平条形图。

Image

我希望红色圈出的值是整数而不是 float 。谁能帮帮我?

最佳答案

我已经解决了(再次感谢 Philipp),这就是解决方案

创建您自己的实现给定 ValueFormatter 的值格式化程序类

这是我的课:

public class MyValueFormatter implements ValueFormatter{
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
return Math.round(value)+"";
}
}

然后将值 Formatter 设置为您的 BarData:

BarData data = new BarData(getXAxisValues(), getDataSet(properties));
data.setValueFormatter(new MyValueFormatter());

就是这样,这是输出-

image without decimal

关于android - MP android 图表在水平条形图的 X 轴上显示浮点值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32821912/

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