我使用MPAndroid Chart及时显示一些值(某些用户的性能)。准备图表数据的代码是:
BarChart chart = (BarChart) rootView.findViewById(R.id.chart);
ArrayList<BarEntry> enteries = new ArrayList<>();
ArrayList<String> labels = new ArrayList<>();
for (int i = 0; i < data.length; i++) {
enteries.add(new BarEntry(data[i].getValue(), i));
labels.add(data[i].getName());
}
BarDataSet dataSet = new BarDataSet(enteries, "");
int[] clr = new int[]{Color.RED, Color.RED, Color.RED, Color.rgb(0xff, 0xff, 0x00), Color.BLUE, Color.BLACK};
dataSet.setColors(clr);
chart.setData(new BarData(labels, dataSet));
chart.animateY(500);
'data'中的值以'秒'为单位。
如何以hhhh:mm:ss
格式显示Y标签和条形图上方的值,即1:40(1分40秒)而不是100。
EDIT1:
我通过定义自定义YAxisValueFormatter
解决了Y-Lables的问题
类:
public class MyYAxisValueFormatter implements YAxisValueFormatter{
public MyYAxisValueFormatter () {
}
@Override
public String getFormattedValue(float value, YAxis yAxis) {
String yLabel="";
int h=(int)(value/3600);
int m=(int)((value%3600)/60);
int s=(int)(value%60);
if(h>0)
yLabel=yLabel+Integer.toString(h)+":";
if(m>0)
yLabel=yLabel+Integer.toString(m)+":";
yLabel=yLabel+Integer.toString(s);
return yLabel;
}
}
但是我找不到任何方法来更改条形图上方的值的格式了!