X轴上显示多个值

时间:2019-07-16 06:24:02

标签: android mpandroidchart

我在应用程序中使用了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();

It is showing like this.

But it should be like this.

0 个答案:

没有答案