Android MPAndroidChart使用,X軸標簽換行顯示


解決方案: setExtraBottomOffset + 自定義 CustomXAxisRenderer

1.假設(shè)自定義x坐標的textSize為xAxis.textSize = 8f,需要設(shè)置底部額外控件提供換行的文字顯示的空間?chart.extraBottomOffset = 2 * 8f,其中8就是剛剛設(shè)置的xAxis.textSize,其中2表示我的X坐標文字有2行。

xAxis.setTextSize(8f);

mLineChart.setExtraBottomOffset(2 * 8f);

2.重寫類XAxisRenderer。

private static class CustomXAxisRenderer extends XAxisRenderer {

????public CustomXAxisRenderer(ViewPortHandler viewPortHandler, XAxis xAxis, Transformer trans){

????????super(viewPortHandler, xAxis, trans);

}

????@Override

????protected void drawLabel(Canvas c, String formattedLabel, float x, float y, MPPointF anchor, float angleDegrees) {

????????//super.drawLabel(c, formattedLabel, x, y, anchor, angleDegrees);//注釋掉

????????String[] lines = formattedLabel.split("\n");

????????for (int i = 0; i < lines.length; i++) {

????????float vOffset = i * mAxisLabelPaint.getTextSize();

????????Utils.drawXAxisValue(c, lines[i], x, y + vOffset, mAxisLabelPaint, anchor, angleDegrees);

????????}

????}

}

3.設(shè)置表格屬性

mLineChart.setXAxisRenderer(new CustomXAxisRenderer(mLineChart.getViewPortHandler(), mLineChart.getXAxis(), mLineChart.getTransformer(YAxis.AxisDependency.LEFT)));

4.注意

如需進行自定義X軸坐標分行顯示,集合對象必須添加 \n 進行分行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容