如何停止在ios-charts中剪切限制线文本?

问题描述 投票:0回答:2

我需要绘制靠近图表顶部的限制线,我想在右上角保留限制线标签。有什么办法,它不能被截断。请看我的输出。 enter image description here

ios-charts
2个回答
0
投票

试试limitline.labelPosition = ChartLimitLabelPositionRightBottom;

如果你想将labelPosition保持在右上角,你可以尝试设置你的YAxis.spaceTop = x;如果x == 0,maxValue将匹配图表的顶部,如果x == 1,maxValue将匹配图表的centerY,

对不起,我不能很好地表达自己,但是,试试吧。希望它有效。


0
投票

默认渲染器有点搞砸了。对它进行子类化(YAxisRenderer)和覆盖方法:renderLimitLines。从原始渲染器复制内容并替换行:

var clippingRect = viewPortHandler.contentRect
clippingRect.origin.y -= l.lineWidth / 2.0
clippingRect.size.height += l.lineWidth

有:

var clippingRect = viewPortHandler.contentRect
clippingRect.origin.y -= l.lineWidth / 2.0 + l.valueFont.lineHeight
clippingRect.size.height += l.lineWidth + l.valueFont.lineHeight

现在,正如您准备好的那样,您需要设置新的轴渲染器

let yAxisRenderer = CenteredLimitLineYAxisRenderer(
   viewPortHandler: chart.viewPortHandler,
   yAxis: chart.leftAxis,
   transformer: chart.getTransformer(forAxis: .left)
)
chart.leftYAxisRenderer = yAxisRenderer
© www.soinside.com 2019 - 2024. All rights reserved.