您可以通过以下示例实现此目的:
float barWidth;
float barSpace;
float groupSpace;
// (barWidth * 2) + (barSpace * 2) + groupSpace should be equal to one
barWidth = 0.25f;
barSpace = 0.05f;
groupSpace = 0.4f;
int groupCount = 7;
ArrayList<String> xVals = new ArrayList<String>();
xVals.add("Jan");
xVals.add("Feb");
xVals.add("Mar");
xVals.add("Apr");
xVals.add("May");
xVals.add("Jun");
xVals.add("Jul");
ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
ArrayList<BarEntry> yVals2 = new ArrayList<BarEntry>();
yVals1.add(new BarEntry(0, (float) 2));
yVals2.add(new BarEntry(0, (float) 3));
yVals1.add(new BarEntry(1, (float) 1));
yVals2.add(new BarEntry(1, (float) 2));
yVals1.add(new BarEntry(2, (float) 3));
yVals2.add(new BarEntry(2, (float) 4));
yVals1.add(new BarEntry(3, (float) 6));
yVals2.add(new BarEntry(3, (float) 5));
yVals1.add(new BarEntry(4, (float) 4));
yVals2.add(new BarEntry(4, (float) 3));
yVals1.add(new BarEntry(5, (float) 2));
yVals2.add(new BarEntry(5, (float) 6));
yVals1.add(new BarEntry(6, (float) 5));
yVals2.add(new BarEntry(6, (float) 7));
BarDataSet set1, set2;
set1 = new BarDataSet(yVals1, "A");
set1.setColor(getColor("defaultGreen"));
set1.setValueTextColor(getColor("primaryDark"));
set1.setValueTextSize(defaultValueTextSize);
set2 = new BarDataSet(yVals2, "B");
set2.setColor(getColor("defaultOrange"));
set2.setValueTextColor(getColor("primaryDark"));
set2.setValueTextSize(defaultValueTextSize);
BarData data = new BarData(set1, set2);
barChart.setData(data);
barChart.getDescription().setText("No. of Contracts signed in 6 months");
barChart.getDescription().setTextSize(12);
barChart.setDrawMarkers(true);
barChart.setMarker(markerView(context));
barChart.getAxisLeft().addLimitLine(lowerLimitLine(2,"Minimum",2,12,getColor("defaultOrange"),getColor("defaultOrange")));
barChart.getAxisLeft().addLimitLine(upperLimitLine(6,"Target",2,12,getColor("defaultGreen"),getColor("defaultGreen")));
barChart.getBarData().setBarWidth(barWidth);
barChart.getXAxis().setAxisMinimum( 0 );
barChart.getXAxis().setAxisMaximum(0 +
barChart.getBarData().getGroupWidth(groupSpace, barSpace) * groupCount);
barChart.groupBars(0, groupSpace, barSpace);
barChart.animateY(1000);
barChart.getData().setHighlightEnabled(true);
barChart.invalidate();
//X-axis
XAxis xAxis = barChart.getXAxis();
xAxis.setGranularity(1f);
xAxis.setGranularityEnabled(true);
xAxis.setCenterAxisLabels(true);
xAxis.setDrawGridLines(false);
xAxis.setAxisMaximum(groupCount);
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
xAxis.setValueFormatter(new IndexAxisValueFormatter(xVals));
//Y-axis
barChart.getAxisRight().setEnabled(false);
YAxis leftAxis = barChart.getAxisLeft();
leftAxis.setDrawGridLines(true);
// leftAxis.setSpaceTop(35f);
leftAxis.setAxisMinimum(0f);
barChart.getXAxis().setGranularityEnabled(true);
barChart.getXAxis().setGranularity(1.0f);
barChart.getXAxis().setLabelCount(set1.getEntryCount());