[Swift通天遁地]3、手勢與圖表-(7)建立餅形圖表並導出圖表爲PNG圖片

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-fnubarsc-ks.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

本文將演示如何建立一個餅形圖表,並導出圖表爲PNG圖片。git

首先確保在項目中已經安裝了所需的第三方庫。github

點擊【Podfile】,查看安裝配置文件。swift

1 platform :ios, '12.0'
2 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     pod 'Charts'
7 end

根據配置文件中的相關配置,安裝第三方庫。數組

而後點擊打開【DemoApp.xcworkspace】項目文件。微信

爲了更好的顯示柱形圖標須要調整模擬器的朝向。app

【DemoApp】->【General】ide

->【Device Orientation】取消勾選【Portrait】肖像選項,使模擬器保持橫向顯示。post

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】

如今開始編寫代碼,建立一個餅形圖表並導出圖表爲PNG圖片。

 1 import UIKit
 2 //首先在當前的類文件中,引入已經安裝的第三方類庫
 3 import Charts
 4 
 5 class ViewController: UIViewController {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         
11         //建立一個圖表數據記錄類型的數組
12         var entries1: [ChartDataEntry] = Array()
13         
14         //而後往數組中,依次添加四條數據。
15         //分別表示環形圖表各區域的比例。
16         entries1.append(ChartDataEntry(x: 1, y: 4.0))
17         entries1.append(ChartDataEntry(x: 2, y: 6.0))
18         entries1.append(ChartDataEntry(x: 3, y: 8.0))
19         entries1.append(ChartDataEntry(x: 4, y: 12.0))
20         
21         //建立一個餅形數據集,並設置數據集的值域和標籤文字
22         let dataSet1 = PieChartDataSet(values: entries1, label: "Company A")
23         //因爲餅形圖表分爲4部分,這裏依次設置這四個部分的填充顏色。
24         dataSet1.colors = [NSUIColor.red, NSUIColor.black, NSUIColor.brown, NSUIColor.orange]
25         
26         //建立一個指定顯示區域的餅形圖表視圖
27         let chart = PieChartView(frame: CGRect(x: 0, y: 10, width: 560, height: 280))
28         //設置圖表視圖的背景顏色爲無色
29         chart.backgroundColor = NSUIColor.clear
30         //設置餅形圖表所顯示的數據內容
31         chart.data = PieChartData(dataSet: dataSet1)
32         //在餅形圖表的中心位置,添加一個文字標籤。並設置文字的內容。
33         chart.centerText = "Revenue Report"
34         //設置圖表的描述信息
35         chart.chartDescription?.text = "Strengthen"
36         
37         //初始化一個字符串,表示圖表導出成圖片以後的存儲位置
38         let imagePath = NSHomeDirectory() + "/Documents/chart.png"
39         //調用圖表的存儲方法,並設置圖片的格式和壓縮程度,
40         //圖片將被保存到沙箱中的指定的文檔目錄。
41         if(chart.save(to: imagePath, //圖片路徑
42                       format: ChartViewBase.ImageFormat.png,//圖片的格
43                       compressionQuality: 1.0))//壓縮程度
44         {
45             //同時在控制檯輸出圖片的日誌信息
46             print(imagePath);
47         }
48         
49         //將配置好的圖表添加到根視圖中
50         self.view.addSubview(chart)
51     }
52 
53     override func didReceiveMemoryWarning() {
54         super.didReceiveMemoryWarning()
55         // Dispose of any resources that can be recreated.
56     }
57 }

從控制檯複製輸出的圖片路徑。找到該圖片,按下鍵盤上的空格鍵,預覽該圖片。

相關文章
相關標籤/搜索