X轴的垂直线iOS图表

时间:2016-02-16 20:54:14

标签: ios ios-charts

也许这是一个简单的问题,但我想知道如何在X轴上绘制垂直线,在iOS图表中绘制X轴上的上标签。 (见图,如红线)

enter image description here

更新:我正在使用的库是https://github.com/danielgindi/ios-charts

3 个答案:

答案 0 :(得分:2)

你可以,但是你必须覆盖一些方法,例如在x轴渲染器中查看drawGridLine()drawLabels()

drawGridLine为您提供了有关如何在ios-charts中绘制网格线的完整详细信息,但是,编写自己的自定义项将非常有用。

答案 1 :(得分:0)

设置要获得红色线条的轴的主要刻度位置和次要刻度位置。请尝试使用以下为图表的x轴编写的示例代码。

xampp

有一个快乐的编码.. !!

答案 2 :(得分:0)

我设法通过覆盖drawLabel在x轴下方绘制刻度线。此功能在x轴下方绘制标签,因此可以在此处绘制其他内容。例如我们想要的壁虱!

class XAxisRendererWithTicks: XAxisRenderer {

     override func drawLabel(context: CGContext, formattedLabel: String, x: CGFloat, y: CGFloat, attributes: [NSAttributedString.Key: Any], constrainedToSize: CGSize, anchor: CGPoint, angleRadians: CGFloat) {

         super.drawLabel(context: context, formattedLabel: formattedLabel, x: x, y: y, attributes: attributes, constrainedToSize: constrainedToSize, anchor: anchor, angleRadians: angleRadians)

         context.beginPath()

        context.move(to: CGPoint(x: x, y: y))
        context.addLine(to: CGPoint(x: x, y: self.viewPortHandler.contentBottom))

        context.strokePath()
     }
}

要使用自定义渲染器,请执行以下操作:

let customXAxisRenderer = XAxisRendererWithTicks(viewPortHandler: self.chartView.viewPortHandler, xAxis: xAxis, transformer: self.chartView.getTransformer(forAxis: .left))

self.chartView.xAxisRenderer = customXAxisRenderer

示例图像:请不要介意颜色,但我想您明白我的意思。 ;)

enter image description here

希望这会有所帮助!