我正在使用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);
输出
在上图中,您可以看到月份名称没有正确放置。即,不显示march
,仅显示april
和may
。
预期产出
我该怎么做?
任何帮助都将不胜感激
1条答案
按热度按时间d8tt03nd1#
在MPDandroidChart v3.1.0版本中,您可以使用自定义ValueFormatter并覆盖String getAxisLabel(float value,AxisBase axis)方法,而不是IndexAxisValueFormatter,您可以定义自己的逻辑来替换每个X值对应的String。基于您的数据集的示例如下所示:
结果将如下所示: