相关疑难解决方法(0)

条形值的自定义位置

我正在使用MPAndroidChart库创建条形图。

我们可以使用以下内容在条形上方显示条形值。

mChart.setDrawValueAboveBar(false);
Run Code Online (Sandbox Code Playgroud)

或者我们可以使用这个:

barDataSet.setDrawValues(true);
Run Code Online (Sandbox Code Playgroud)

在条形图本身中显示条形图值。我想知道是否可以为这些值设置自定义位置。例如在y轴下方。

在此处输入图片说明

public class TextBarChartRenderer extends BarChartRenderer {

    public TextBarChartRenderer(BarDataProvider chart, ChartAnimator animator, ViewPortHandler viewPortHandler) {
        super(chart, animator, viewPortHandler);
    }

    @Override
    public void drawValues(Canvas c) {
        List<IBarDataSet> dataSets = mChart.getBarData().getDataSets();

        final float valueOffsetPlus = Utils.convertDpToPixel(22f)
        float negOffset;

        for (int i = 0; i < mChart.getBarData().getDataSetCount(); i++) {

            IBarDataSet dataSet = dataSets.get(i);
            applyValueTextStyle(dataSet);
            float valueTextHeight = Utils.calcTextHeight(mValuePaint, "8");
            negOffset = valueTextHeight + valueOffsetPlus;

            BarBuffer buffer = mBarBuffers[i];

            float left;
            float right;
            float top;
            float …
Run Code Online (Sandbox Code Playgroud)

android mpandroidchart

6
推荐指数
1
解决办法
2960
查看次数

MPAndroidChart渲染器如何工作以及如何编写自定义渲染器?

我正在使用库MPAndroidChart但它没有开箱即用的所有功能.

我听说可以通过编写自定义渲染器来实现我想要的功能.

我查看了MPAndroidChart GitHub仓库中渲染器源代码,但我无法理解所涉及的概念.

MPAndroidChart渲染器如何工作?

编写自定义渲染器的高级过程是什么?

注意:对于在上发布的许多问题,解决方案是实现某种自定义渲染器.如果没有指南,对"你可以通过编写自定义渲染器来解决这个问题"这样的问题的评论是不满意的.编写包含完整解决方案的答案可能非常耗时.没有现成的编写自定义渲染器的指南,希望这个问题可以作为提问者能够帮助自己的实用工具,如果不是重复的目标.虽然我在这里尝试了自己的答案,但欢迎其他答案,更正和评论.

android mpandroidchart

5
推荐指数
1
解决办法
3794
查看次数

标签 统计

android ×2

mpandroidchart ×2