CorePlot条形图在绘图和绘图上的混淆

时间:2016-03-28 05:12:42

标签: core-plot

我正在尝试使用条形图来显示我的数据。我想显示按日期分组的内容,对于每个日期,我有7个人及其相关值。

我为barWidth为0.25

的每个日期创建了一个管状CPTBarPlot

我很困惑为每个情节设置barOffset的内容,以便正确绘制。

为了存储数据,我使用了var plotData: [NSDate : [Double]]?。这个double数组对每个NSDate都有7个值(每个人一个,按顺序)

我拥有的numberForPlot方法是绘制所有值,但分组似乎是按人而不是日期,并且它们相互吸引。这是我用过的:

func numberForPlot(plot: CPTPlot, field fieldEnum: UInt, recordIndex idx: UInt) -> AnyObject? {
    guard let type = CPTBarPlotField(rawValue: Int(fieldEnum)) else { return nil }

    switch type {
    case .BarBase:
        fatalError()

    case .BarLocation:
        return idx

    case .BarTip:
        guard let date = plot.identifier as? NSDate, values = plotData?[date] else {
            fatalError()
        }

        return values[Int(idx)]
    }
}

1 个答案:

答案 0 :(得分:0)

每个地块的条形宽度为0.25个单位,相隔一个单位。由于您有七个图,除非您减小条宽,否则它们将重叠。我建议使用-0.3,-0.2,-0.1,0.0,0.1,0.2和0.3的偏移。这将在各组条之间留下一小块空间以将组分开。如果您不想要任何重叠,请在每个绘图上使用0.1的条宽。