我正在尝试使用条形图来显示我的数据。我想显示按日期分组的内容,对于每个日期,我有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)]
}
}
答案 0 :(得分:0)
每个地块的条形宽度为0.25个单位,相隔一个单位。由于您有七个图,除非您减小条宽,否则它们将重叠。我建议使用-0.3,-0.2,-0.1,0.0,0.1,0.2和0.3的偏移。这将在各组条之间留下一小块空间以将组分开。如果您不想要任何重叠,请在每个绘图上使用0.1的条宽。