我想使用MPandroidchart在我的android应用中比较成绩。
我在我的网站上做了同样的图。但是,如果不是在Android中也可以,那就不要。
这就是我想要做的。
final ArrayList<String> labelsSub = new ArrayList<>();
labelsSub.add("CSE215");
labelsSub.add("CSE215");
labelsSub.add("MAT120");
labelsSub.add("MAT120");
List<BarEntry> entriesSub = new ArrayList<>();
entriesSub.add(new BarEntry(0f, "A"));
entriesSub.add(new BarEntry(1f, "A-"));
entriesSub.add(new BarEntry(2f, "A"));
entriesSub.add(new BarEntry(3f, "B"));
答案 0 :(得分:1)
您可以使用以下代码轻松地做到这一点:
XAxis xAxis = lineChart.getXAxis();
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
switch ((int)value){
//write your logic here
case 0:
return "CHE1";
case 1:
return "CHE2";
case 2:
return "CHE3";
case 3:
return "CHE4;
default:
return "CHE5";
}
}
});
答案 1 :(得分:0)
这是我找到的解决方案,希望对其他人有帮助。
如果要在图形值中设置自定义文本,请使用它。
gamma
然后在数据集中设置格式化程序。
public class GradeValueChart implements IValueFormatter {
private DecimalFormat mFormat;
public GradeValueChart() {
mFormat = new DecimalFormat("###,###,##0.0"); // use one decimal
}
@Override
public String getFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {
String val = Utils.getGpaGrade(value);
return val + " "; // e.g. append any text
}
}
答案 2 :(得分:0)
ArrayList chnlList =新的ArrayList <>();
xAxis.setValueFormatter(new IAxisValueFormatter(){
@Override
公共字符串getFormattedValue(浮点值,AxisBase轴){
返回chnlList.get((int)值);
}
});