MPAndroidChart柱状图Y轴标签颜色

4

mpandroidchart中,是否可以为y轴标签设置不同的标签颜色?如果可能的话,如何实现?感谢任何帮助。


我想设置标签颜色,每个标签都有不同的颜色。例如:0-红色,1-蓝色等。 - Joe
2个回答

7
在下面添加以下代码行
chart.getAxisLeft().setTextColor(ContextCompat.getColor(this, R.color.red)); // left y-axis

enter image description here


我想要为每个标签设置不同的标签颜色。例如:0-红色,1-蓝色等。 - Joe
您正在使用 Mpchart 依赖或库吗? - Jyot
我在Gradle中添加了依赖。 - Joe
据我所知,没有办法设置左侧值的不同颜色,因为他们提供了一个单一的方法setTextColor。此外,如果您查看他们的库,所有图表的左侧数值都是单一颜色。 https://github.com/PhilJay/MPAndroidChart - Jyot
很不幸,看起来好像出了问题! - Joe

1
您可以像这样自定义YAxisRenderer来实现它。 将其添加到您的图表中 chart.setRendererLeftYAxis(new MyYAxisLeftRenderer(chart.getViewPortHandler(), chart.getAxisLeft(),chart.getTransformer(YAxis.AxisDependency.LEFT)));
public class MyYAxisLeftRenderer extends YAxisRenderer {


@Override
protected void drawYLabels(Canvas c, float fixedPosition, float[] positions, float offset) {
    final int from = mYAxis.isDrawBottomYLabelEntryEnabled() ? 0 : 1;
    final int to = mYAxis.isDrawTopYLabelEntryEnabled()
            ? mYAxis.mEntryCount
            : (mYAxis.mEntryCount - 1);

    // draw
    for (int i = from; i < to; i++) {

        String text = mYAxis.getFormattedLabel(i);

        // change y label color here before drawing (i is an index of label)
         mAxisLabelPaint.setColor();

        c.drawText(text, fixedPosition, positions[i * 2 + 1] + offset, mAxisLabelPaint);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接