mpAndroidChart: Xaxis.setPosition to Bottom_Inside не работает на HorizontalBarChart - PullRequest
0 голосов
/ 23 октября 2018

У меня есть HorizontalBarChart с mpAndroidChart, и у меня возникают проблемы с отображением надписей на левой стороне, но внутри графика.Выглядит это так:

enter image description here

этикетки срезаны на левой стороне.Это делается по линии

testchart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM_INSIDE)

С правой стороны она работает плавно:

enter image description here

Метки находятся внутриграфик и полностью отображается.Это делается строкой:

testchart.getXAxis().setPosition(XAxis.XAxisPosition.TOP_INSIDE)

Есть идеи, что я делаю неправильно?

Мой код для диаграммы:

BarData data = new BarData(new BarDataSet(entries, "Labeltest"));

        data.setBarWidth(1); // set custom bar width
        data.setDrawValues(false);
        oBinding.testchart.setData(data);
        oBinding.testchart.getXAxis().setLabelCount(labels.size());

        oBinding.testchart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM_INSIDE);
        oBinding.testchart.getXAxis().setValueFormatter(new IndexAxisValueFormatter(labels));

        // Hide grid lines
        oBinding.testchart.getAxisLeft().setEnabled(false);
        oBinding.testchart.getAxisRight().setEnabled(false);
        // Hide graph description
        oBinding.testchart.getDescription().setEnabled(false);
        // Hide graph legend
        oBinding.testchart.getLegend().setEnabled(false);


        oBinding.testchart.invalidate(); // refresh

и в XML:

<com.github.mikephil.charting.charts.HorizontalBarChart
            android:id="@+id/testchart"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />

1 Ответ

0 голосов
/ 29 ноября 2018

Я столкнулся с той же проблемой, я решил ее таким образом.

chart.getXAxis().setPosition(XAxisPosition.BOTTOM_INSIDE)

Таким образом, метки должны быть нарисованы над столбцами.Кроме того, вы можете переместить метки, используя методы setXOffset(...) и setYOffset(...) класса XAxis.

Если у вас есть лучший способ, пожалуйста, дайте мне знать, спасибо

...