我需要绘制靠近图表顶部的限制线,我想在右上角保留限制线标签。有什么办法,它不能被截断。请看我的输出。 enter image description here
答案 0 :(得分:0)
尝试limitline.labelPosition = ChartLimitLabelPositionRightBottom;
如果你想将labelPosition保持在右上角,
您可以尝试设置yourYAxis.spaceTop = x;
如果x == 0
,则maxValue将匹配图表的顶部,
如果x == 1
,则maxValue将匹配图表的centerY,
答案 1 :(得分: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