Попробуйте удалить строки из вашего кода ниже. Прокомментируйте их и проверьте на наличие изменений:
xAxis.setAxisMinimum(0f);
xAxis.setAxisMaximum(xAxisKeys.size());
xAxis.setLabelCount(xAxisKeys.size(), true);
И следуйте приведенному ниже примеру базового графика, после чего вы можете настроить его, изменив свойства в соответствии с вашими требованиями:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BarChart barChart = (BarChart) findViewById(R.id.chart1);
BarData data = barData();
barChart.setData(data);
barChart.setFitBars(true);
// xAxis customization
XAxis xAxis = barChart.getXAxis();
// Following code have no effect but you can change it if required
xAxis.setGranularity(1f);
xAxis.setGranularityEnabled(true);
xAxis.setCenterAxisLabels(false);
// Setting position of xAxis
xAxis.setPosition(XAxis.XAxisPosition.BOTH_SIDED);
// Setting labels to xAxis
xAxis.setValueFormatter(new IndexAxisValueFormatter(getXAxisValues()));
}
// creating list of x-axis values
private ArrayList<String> getXAxisValues()
{
ArrayList<String> labels = new ArrayList<String> ();
labels.add( "JAN");
labels.add( "FEB");
labels.add( "MAR");
labels.add( "APR");
labels.add( "MAY");
labels.add( "JUN");
return labels;
}
// this method is used to create data for Bar graph
public BarData barData()
{
ArrayList<BarEntry> group1 = new ArrayList<BarEntry>();
group1.add(new BarEntry(0, 3));
group1.add(new BarEntry(1, 1));
group1.add(new BarEntry(2, 4));
group1.add(new BarEntry(3, 7));
group1.add(new BarEntry(4, 3));
group1.add(new BarEntry(5, 8));
BarDataSet barDataSet = new BarDataSet(group1, "Brand 1");
barDataSet.setAxisDependency(YAxis.AxisDependency.RIGHT);
barDataSet.setColors(ColorTemplate.COLORFUL_COLORS);
BarData barData = new BarData(barDataSet);
return barData;
}
}