我在应用程序中使用了MPAmdroidChart的BarChart。 链接:MPAndroidChart 我正在自定义X轴标签。我在X轴上显示月份值。我正在使用setVisibleXRange方法启用初始水平滚动。但它在X轴上显示了多个标签。我正在使用以下代码。
BarData data = new BarData(getDataSet(barEntries, colorArray));
data.setHighlightEnabled(false);
data.setBarWidth(0.8f);
chart.setData(data);
//middle line
chart.getAxisRight().setStartAtZero(false);
chart.getAxisLeft().setStartAtZero(false);
chart.getLegend().setEnabled(false);
chart.getDescription().setEnabled(false);
chart.setTouchEnabled(true);
chart.setDragEnabled(true);
chart.setScaleEnabled(false);
chart.setDrawGridBackground(false);
chart.getAxisRight().setEnabled(false);
chart.getXAxis().setDrawGridLines(false);
//removing labels
chart.getAxisLeft().setDrawLabels(false);
chart.getAxisRight().setDrawLabels(false);
chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
chart.moveViewToX(xAxis.length - 1);
chart.getXAxis().setLabelCount(xAxis.length+1,true);
chart.setXAxisRenderer(new CustomXAxisRenderer(chart.getViewPortHandler(), chart.getXAxis(), chart.getTransformer(YAxis.AxisDependency.LEFT)));
chart.setVisibleXRangeMaximum(11);
chart.getXAxis().setGranularity(1f);
chart.getXAxis().setAxisLineColor(ContextCompat.getColor(getContext(), R.color.axis_color));
chart.getAxisLeft().setAxisLineColor(ContextCompat.getColor(getContext(), R.color.transparent));
chart.getAxisRight().setAxisLineColor(ContextCompat.getColor(getContext(), R.color.transparent));
chart.getAxisLeft().setAxisMinimum(0);
chart.getAxisLeft().setAxisMaximum(100);
chart.getXAxis().setTextColor(ContextCompat.getColor(getContext(), R.color.x_axis_value));
ValueFormatter axisValueFormatter = new StringBarXAxisLabelFormatter(xAxis);
chart.getXAxis().setValueFormatter(axisValueFormatter);
chart.setVisibleXRange(0, 11);
chart.setExtraOffsets(0, 0, 0, 20);
chart.setPinchZoom(false);
//animation
chart.animateXY(2000, 2000);
chart.invalidate();