can';t在AndroidPlot中显示x轴上的所有字符串值

can';t在AndroidPlot中显示x轴上的所有字符串值,android,string,androidplot,Android,String,Androidplot,我无法在AndroidPlot中显示x轴上的所有字符串值 我只能显示这12个值中的10个值: 字符串[]标签={“Ahmed”、“Mohammed”、“tarek”、“alaa”、“mai”、“sahar”、“fares”, “阿德尔”、“奥马尔”、“马哈茂德”、“塔默”、“阿里”} 未显示alaa和omar 我使用以下代码: private class GraphXLabelFormat extends Format { String[] Labels = {"Ah

我无法在AndroidPlot中显示x轴上的所有字符串值

我只能显示这12个值中的10个值:

字符串[]标签={“Ahmed”、“Mohammed”、“tarek”、“alaa”、“mai”、“sahar”、“fares”, “阿德尔”、“奥马尔”、“马哈茂德”、“塔默”、“阿里”}

未显示alaa和omar

我使用以下代码:

         private class GraphXLabelFormat extends Format {
    String[]  Labels = {"Ahmed", "Mohammed", "tarek", "alaa", "mai","sahar", "fares",
        "adel","omar", "mahmoud","tamer","ali"};

    @Override
   public StringBuffer format(Object object, StringBuffer buffer, FieldPosition field)     
     {
     int parsedInt =  Math.round(Float.parseFloat(object.toString()));
     String labelString = Labels[parsedInt];
      buffer.append(labelString);
      return buffer;
  }

  @Override
  public Object parseObject(String string, ParsePosition position) {
      return java.util.Arrays.asList(Labels).indexOf(string);
       }
   }
在onCreate方法中,我制作:

       plot.getGraphWidget().setDomainValueFormat(new GraphXLabelFormat());
最初在中答复,但为了方便起见,重新发布在此处:

可能是由于数据集中的点数和标签大小不相等而导致的舍入问题[]。如果像这样在format(…)实现中添加一些日志记录,那么问题应该变得很明显:

@Override
public StringBuffer format(Object object, StringBuffer buffer, FieldPosition field)     
     {
     Log.d(TAG, "raw input: " + object.toString());
     int parsedInt =  Math.round(Float.parseFloat(object.toString()));
     Log.d(TAG, "parsed input: " + parsedInt);

String labelString = Labels[parsedInt];
      buffer.append(labelString);
      return buffer;
}
此外,toString()的这种用法似乎有点奇怪:

int parsedInt =  Math.round(Float.parseFloat(object.toString()));
看起来有点奇怪。我建议将这一行改为:

int parsedInt =  Math.round(((Number) object).floatValue());