MPAndroidChart:BubbleChart第一个和最后一个气泡渲染了一半

时间:2016-09-28 07:17:46

标签: android charts mpandroidchart

MPAndroidChart - First and last bars not rendering correctly类似,我的图表中的第一个和最后一个气泡未完全渲染,并且在图像中显示为一半。

enter image description here

以下是BubbleChart的当前实现。

private void initializeBubbleChart() {
        mChart = (BubbleChart) findViewById(R.id.bubblechart);

        mChart .setDescription("");

        mChart .setOnChartValueSelectedListener(this);

        mChart .setDrawGridBackground(false);

        mChart .setTouchEnabled(true);
        mChart .setDragEnabled(true);
        mChart .setScaleEnabled(true);

        AxisValueFormatter xAxisFormatter = new DayAxisValueFormatter(mChart);

        XAxis xAxis = mChart .getXAxis();
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
        xAxis.setTypeface(typeFace);
        xAxis.setDrawGridLines(false);
        xAxis.setGranularity(1f); // only intervals of 1 day
        xAxis.setValueFormatter(xAxisFormatter);

        AxisValueFormatter yAxis = new YAxisValueFormatter("duration");

        YAxis leftAxis = mChart .getAxisLeft();
        leftAxis.setTypeface(typeFace);
        leftAxis.setSpaceTop(30f);
        leftAxis.setSpaceBottom(30f);
        leftAxis.setDrawGridLines(false);
        leftAxis.setValueFormatter(yAxis);
        leftAxis.setDrawZeroLine(false);

        YAxis rightAxis = mChart .getAxisRight();
        rightAxis.setTypeface(typeFace);
        rightAxis.setSpaceTop(30f);
        rightAxis.setSpaceBottom(30f);
        rightAxis.setDrawGridLines(false);
        rightAxis.setValueFormatter(yAxis);
        rightAxis.setDrawZeroLine(false);

        populateData();
    }

@Philipp Jahoda

1 个答案:

答案 0 :(得分:2)

使用setAxisMinValue()setAxisMaxValue()自定义轴范围:

xAxis.setAxisMinValue(valueBelowActualMinimum);
xAxis.setAxisMaxValue(valueAboveActualMaximum);

并修改DayAxisValueFormatter以显示或取消边值的标签。