Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mpandroidchart文本未正确显示在折线图的x轴上_Android_Mpandroidchart_X Axis - Fatal编程技术网

Mpandroidchart文本未正确显示在折线图的x轴上

Mpandroidchart文本未正确显示在折线图的x轴上,android,mpandroidchart,x-axis,Android,Mpandroidchart,X Axis,我正在做Mpandroidchart。我已经创建了一个折线图,并尝试在我的xaxis上放置字符串 final ArrayList<String> xAxisLabel = new ArrayList<>(Arrays.asList("March","April","May")); private ArrayList<Entry> lineChartDataSet(){ ArrayList

我正在做
Mpandroidchart
。我已经创建了一个折线图,并尝试在我的
xaxis
上放置字符串

final ArrayList<String> xAxisLabel = new ArrayList<>(Arrays.asList("March","April","May"));



private ArrayList<Entry> lineChartDataSet(){
    ArrayList<Entry> dataSet = new ArrayList<Entry>();

    dataSet.add(new Entry(1,40));
    dataSet.add(new Entry(2,10));
    dataSet.add(new Entry(3,15));    
    return  dataSet;


}

 lineDataSet = new LineDataSet(lineChartDataSet(),"data set");
 XAxis xAxis = lineChart.getXAxis();
    xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    xAxis.setDrawGridLines(false);

    //String setter in x-Axis
    xAxis.setValueFormatter(new com.github.mikephil.charting.formatter.IndexAxisValueFormatter(xAxisLabel));
    xAxis.setGranularity(1f);
    xAxis.setGranularityEnabled(true);
final ArrayList xAxisLabel=新的ArrayList(Arrays.asList(“三月”、“四月”、“五月”);
专用ArrayList lineChartDataSet(){
ArrayList数据集=新的ArrayList();
添加(新条目(1,40));
添加(新条目(2,10));
添加(新条目(3,15));
返回数据集;
}
lineDataSet=新的lineDataSet(lineChartDataSet(),“数据集”);
XAxis XAxis=lineChart.getXAxis();
设置位置(xAxis.XAxisPosition.BOTTOM);
xAxis.setDrawGridLines(false);
//x轴上的字符串设置器
setValueFormatter(新的com.github.mikephil.charting.formatter.IndexAxisValueFormatter(xAxisLabel));
xAxis.setGranularity(1f);
xAxis.setGranularityEnabled(真);
输出

在上图中,您可以看到月份名称未正确放置。i、 e
march
不显示,仅显示
april
may

预期产出

我怎么做


对于MPAndroidChart v3.1.0版中的索引AxisValueFormatter

的帮助,我们将不胜感激。您可以使用自定义值格式化程序并覆盖字符串getAxisLabel(浮点值,AxisBase轴)方法,您可以定义自己的逻辑来替换每个X值对应的字符串。基于您的数据集的示例如下所示:

xAxis.setValueFormatter(new ValueFormatter() {
  @Override
  public String getAxisLabel(float value, AxisBase axis) {
     String label = "";
     if(value == 1)
       label = "March";
     else if(value == 2)
       label = "April";
     else if(value == 3)
       label = "May";
     return label;
   }
}); 
结果如下:

xAxis.setValueFormatter(new ValueFormatter() {
  @Override
  public String getAxisLabel(float value, AxisBase axis) {
     String label = "";
     if(value == 1)
       label = "March";
     else if(value == 2)
       label = "April";
     else if(value == 3)
       label = "May";
     return label;
   }
});