MPAndroid图表setValueFormatter函数所需信息
MPAndroid chart setValueFormatter function information required
xl.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
if ((int)value != 0){
final HashMap<Integer, String>numMap = new HashMap<>();
for (int i = 0; i < clxaxisArray.size(); i++) {
numMap.put(i, ""+clxaxisArray.get(clxaxisArray.size() - 1 - i));
}
Log.e("intvalue", ""+(value));
return "";
}
else
{
return "";
}
}
@Override
public int getDecimalDigits() {
return 0;
}
});
}
getFormattedValue 函数中的值和轴是什么,这些值的用途是什么?出于教育目的,请描述任何人。
由自定义解决 class
public class MyXAxisValueFormatter implements IAxisValueFormatter {
private List mValues;
private List<?> reverse_mValues;
public MyXAxisValueFormatter(List values) {
this.mValues = values;
this.reverse_mValues = values.subList(0, values.size());
Collections.reverse(reverse_mValues);
}
@Override
public String getFormattedValue(float value, AxisBase axis) {
// "value" represents the position of the label on the axis (x or y)
if((int) value < 0 || (int) value >= reverse_mValues.size()){
return "";
}else{
return (String) reverse_mValues.get((int) value);
}
}
/** this is only needed if numbers are returned, else return 0 */
@Override
public int getDecimalDigits() { return 0; }
}
显示图表功能中
XAxis xl = myChart.getXAxis();
xl.setPosition(XAxis.XAxisPosition.BOTTOM);
xl.setDrawAxisLine(true);
xl.setDrawGridLines(false);
xl.setGranularity(1f);
xl.setDrawLabels(true);
xl.setAvoidFirstLastClipping(false);
xl.setAxisMaximum(mlxaxisArray.size());
xl.setAxisMinimum(0);
xl.setLabelCount(mlxaxisArray.size()+1);
if (mlxaxisArray.size()!=0){
xl.setValueFormatter(new MyXAxisValueFormatter(mlxaxisArray));
}
由于我的要求是倒序取值,所以上面使用了反函数class。反函数; Collections.reverse(reverse_mValues);
xl.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
if ((int)value != 0){
final HashMap<Integer, String>numMap = new HashMap<>();
for (int i = 0; i < clxaxisArray.size(); i++) {
numMap.put(i, ""+clxaxisArray.get(clxaxisArray.size() - 1 - i));
}
Log.e("intvalue", ""+(value));
return "";
}
else
{
return "";
}
}
@Override
public int getDecimalDigits() {
return 0;
}
});
}
getFormattedValue 函数中的值和轴是什么,这些值的用途是什么?出于教育目的,请描述任何人。
由自定义解决 class
public class MyXAxisValueFormatter implements IAxisValueFormatter {
private List mValues;
private List<?> reverse_mValues;
public MyXAxisValueFormatter(List values) {
this.mValues = values;
this.reverse_mValues = values.subList(0, values.size());
Collections.reverse(reverse_mValues);
}
@Override
public String getFormattedValue(float value, AxisBase axis) {
// "value" represents the position of the label on the axis (x or y)
if((int) value < 0 || (int) value >= reverse_mValues.size()){
return "";
}else{
return (String) reverse_mValues.get((int) value);
}
}
/** this is only needed if numbers are returned, else return 0 */
@Override
public int getDecimalDigits() { return 0; }
}
显示图表功能中
XAxis xl = myChart.getXAxis();
xl.setPosition(XAxis.XAxisPosition.BOTTOM);
xl.setDrawAxisLine(true);
xl.setDrawGridLines(false);
xl.setGranularity(1f);
xl.setDrawLabels(true);
xl.setAvoidFirstLastClipping(false);
xl.setAxisMaximum(mlxaxisArray.size());
xl.setAxisMinimum(0);
xl.setLabelCount(mlxaxisArray.size()+1);
if (mlxaxisArray.size()!=0){
xl.setValueFormatter(new MyXAxisValueFormatter(mlxaxisArray));
}
由于我的要求是倒序取值,所以上面使用了反函数class。反函数; Collections.reverse(reverse_mValues);