大家好
我是接觸swift的新手
我需要產生PDF且上面繪製折線圖
我產生PDF是用PDFKit,這部分沒問題
但是折線圖....
我是用charts來繪製折線,但沒辦法顯示在PDF上
懇求各位大神給點方向
是該換其他時麼套件嗎?
以下是不成功的code
func addChart(){
// var chartView: LineChartView!
let chartView = LineChartView()
let points = [30.65, 30.68, 30.61, 30.62, 30.60, 30.68, 30.60, 30.69, 30.57, 30.55]
let entries: [ChartDataEntry] = points.enumerated().map {
return ChartDataEntry.init(x: Double($0), y: Double($1))
}
// 建立 LineChartDataSet
let set = LineChartDataSet.init(entries: entries, label: "即期買進")
// 設定 chart.data
let data = LineChartData(dataSets: [set])
chartView.data = data
// print(chartView)
本來想轉成UIImage,在顯示再PDF上的,但不成功(type)問題
// let image = UIImage(data: data)
// let image:UIImage = chartView.getChartImage(transparent: true) ??
// print(image)
let chartViewRect = CGRect(x: 50, y: 50,
width: 50, height: 50)
chartView.draw(chartView)
}
先把 UIView 轉成圖片再放到 PDF 中的想法應該可以
不過實際上的做法應該是擴展 UIView ,你一開始的方法是將 dataSet 傳給 Image ,雖然都叫 data 但他們其實是不同東西,dataSet 的資料是 chart 所需要的結構,Image 的是圖片轉成的 binary data
可以參考這篇 swift 截圖功能 - 擴展UIView