我只想在图表的顶部显示X轴标签。我该怎么办?
我正在使用以下代码:
XAxis xAxis = chart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTH_SIDED);
xAxis.setDrawLabels(false);
或者如果我这样做
XAxis xAxis = chart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.TOP);
xAxis.setDrawAxisLine(true);
然后我仅在顶部有标签,但缺少底行。
答案 0 :(得分:1)
您要显示位置BOTH_SIDED的xAxis行,但在底部没有标签,因此您需要覆盖XAxisRenderer:
chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTH_SIDED);
chart.setXAxisRenderer(new XAxisRenderer(chart.getViewPortHandler(), chart.getXAxis(), chart.getTransformer(YAxis.AxisDependency.LEFT)) {
@Override
public void renderAxisLabels(Canvas canvas) {
if (!mXAxis.isEnabled()|| !mXAxis.isDrawLabelsEnabled())
return;
MPPointF pointF = MPPointF.getInstance(0f, 0f);
mAxisLabelPaint.setTypeface(mXAxis.getTypeface());
mAxisLabelPaint.setTextSize(mXAxis.getTextSize());
mAxisLabelPaint.setColor(mXAxis.getTextColor());
pointF.x = 0.5f;
pointF.y = 1.0f;
drawLabels(canvas, mViewPortHandler.contentTop() - mXAxis.getYOffset(), pointF);
}
});
答案 1 :(得分:0)
这对原始作者没有帮助,但是我遇到了同样的问题,并使用 chart.setExtraBottomOffset(-40f); 不错,简单,值得一试。您可能需要调整值以适合您的审美观。