Ios 如何截断x值?
iOS图表库似乎存在一个问题,如果蜡烛棒图表上的x值太大,蜡烛会被渲染为非常细,甚至在屏幕上几乎看不到。我正在根据以下内容将时间间隔添加到图表中:Ios 如何截断x值?,ios,swift,ios-charts,Ios,Swift,Ios Charts,iOS图表库似乎存在一个问题,如果蜡烛棒图表上的x值太大,蜡烛会被渲染为非常细,甚至在屏幕上几乎看不到。我正在根据以下内容将时间间隔添加到图表中: let dateFormatter = DateFormatter() dateFormatter.locale = Locale(identifier: "en_US_POSIX") dateFormatter.dateFormat = "yyyy-MM-dd"
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd"
let minuteFormatter = DateFormatter()
minuteFormatter.locale = Locale(identifier: "en_US_POSIX")
minuteFormatter.dateFormat = "HH:mm"
for dictionary in response.value as! [[String:Any]] {
var timeInterval = TimeInterval(0)
if let minute = dictionary["minute"] as? String {
timeInterval = minuteFormatter.date(from: minute)!.timeIntervalSince1970
} else {
// convert Date to TimeInterval (typealias for Double)
timeInterval = dateFormatter.date(from: dictionary["date"] as! String)!.timeIntervalSince1970
}
// convert to Integer
let myInt = Int(timeInterval )
let entry = CandleChartDataEntry(x: Double(myInt), shadowH: dictionary["high"] as? Double ?? 0.00, shadowL: dictionary["low"] as? Double ?? 0.00, open: dictionary["open"] as? Double ?? 0.00, close: dictionary["close"] as? Double ?? 0.00, icon: nil)
vals.append(entry)
i += 1
}
在一个实例中,时间间隔是时间(hh:MM),而在另一个实例中,它可以是日期(YYYY-MM-DD)。然后,我在这里相应地格式化这些内容:
class ChartValueFormatter: NSObject, IAxisValueFormatter {
var timeFrame : Int = 0
func stringForValue(_ value: Double, axis: AxisBase?) -> String {
if timeFrame == 0 {
let minuteFormatter = DateFormatter()
minuteFormatter.locale = Locale(identifier: "en_US_POSIX")
minuteFormatter.dateFormat = "HH:mm"
let date = Date(timeIntervalSince1970: value)
return minuteFormatter.string(from: date)
} else if timeFrame != 0 {
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd"
let date = Date(timeIntervalSince1970: value)
return dateFormatter.string(from: date)
} else {
return ""
}
}
}
我如何能够可靠且轻松地唯一截断x值,以便图表是固定的,但仍然将它们转换回正确的标签(并获得标签上显示的正确时间/日期)
提前谢谢