我正在尝试使用Android Studio中的MPandroid制作条形图,以7条显示7个不同的值,一周中的每一天一个。出于某些奇怪的原因,它不允许我创建第七个小节(在6时效果很好)。我已经在使用
chart.setBarVisibleXRange(min,max)
但是它只是在图形中创建了一个无法填充的额外空间。
这是我的条形图代码
barChart = (BarChart) findViewById(R.id.barchart);
barChart.setDrawBarShadow(false);
barChart.setDrawValueAboveBar(true);
barChart.setMaxVisibleValueCount(7);
barChart.setPinchZoom(false);
barChart.setDrawGridBackground(true);
ArrayList<BarEntry> barEntries = new ArrayList<>();
barEntries.add(new BarEntry(1, 400f));
barEntries.add(new BarEntry(2, 300f));
barEntries.add(new BarEntry(3, 250f));
barEntries.add(new BarEntry(4, 340f));
barEntries.add(new BarEntry(5, 990f));
barEntries.add(new BarEntry(6, 320f));
// barEntries.add(new BarEntry(7, 310f));
BarDataSet barDataSet = new BarDataSet(barEntries, "Date Set1");
barDataSet.setColors(ColorTemplate.COLORFUL_COLORS);
BarData data = new BarData(barDataSet);
data.setBarWidth(0.2f);
barChart.setData(data);
final String[] months = new String[] {"Mon", "Tue", "Wed", "Thu", "Friday", "Saturday", "Sunday"};
XAxis xAxis = barChart.getXAxis();
xAxis.setValueFormatter(new MyXAxisFormatter(months));
xAxis.setLabelCount(7);
xAxis.setPosition(XAxis.XAxisPosition.BOTH_SIDED);
xAxis.setGranularity(1);
xAxis.setCenterAxisLabels(false);
// xAxis.setAxisMinimum(1);
Description description = new Description();
description.setText("");
barChart.setDescription(description);
float minXRange = 7;
float maxXRange = 7;
barChart.setVisibleXRange(minXRange, maxXRange);
}
这是XAxis类的
public class MyXAxisFormatter implements IAxisValueFormatter {
private String[] mValues;
public MyXAxisFormatter(String [] values){
this.mValues = values;
}
public String getFormattedValue(float value, AxisBase axis){
return mValues[(int)value];
}
}
我的代码中有什么阻止我在图形中插入第7条?不是因为它不合适。